import type { ComponentStyleIdType } from '../../types/interfaces'
import type { IconThemeSubCategory } from './types/constants'
import type {
  IconAttributes,
  IconConfig,
  IconId,
  IconStats,
  IconSvgOptions,
  IconValidationResult,
} from './types/interfaces'
import {
  BodyClasses,
  logger,
  MODULE_CONFIG,
  PROJECT_PREFIX,
} from '../../types/constants'
import { IconFormatType, ThemeType } from '../../types/interfaces'
import { ThemeVarService } from '../abstract/style/theme_var/service'
import { createStandardStyleTag } from '../style_injector'
import { ToolKit } from '../utils/toolkit'
import {
  ICON_IDS,
  ICON_THEME_COLOR,
  VIP_USER_ICON_COLOR_CONFIG,
} from './types/constants'
import {
  IconCategory,
  IconTag,
} from './types/interfaces'

export class IconService {
  // @Decorators.Identity
  private readonly name: ComponentStyleIdType = 'IconService'
  // @Decorators.PublicState
  private static instance: IconService
  // @Decorators.Dependency
  private readonly themeVarService: ThemeVarService = ThemeVarService.getInstance()
  // @Decorators.Config
  private readonly styleId: string = `${PROJECT_PREFIX}-icon-service-style`
  private readonly DEFAULT_FILL_COLOR: string = this.getIconThemeColor(ThemeType.LIGHT)
  private readonly DEFAULT_ICON_SVG_CONFIG: Record<'viewBox' | 'size' | 'format', any> = {
    viewBox: '0 0 1024 1024',
    size: 24,
    format: IconFormatType.cssUrl,
  }

  // @Decorators.UIElement
  private readonly ICON_STYLE_VAR_PREFIX: string = `--${PROJECT_PREFIX}-theme-icon`
  // @Decorators.TemporaryState
  private icons: Map<string, IconConfig> = new Map()
  private validationResults: IconValidationResult = { isValid: true, errors: [], warnings: [] }
  private stats: IconStats | null = null

  constructor() {
    this.registerIcons()
    this.autoFillCategories()
  }

  public static getInstance(): IconService {
    if (!IconService.instance) {
      IconService.instance = new IconService()
    }
    return IconService.instance
  }

  get api(): {
    icons: {
      link: IconConfig[]
      videoSource: IconConfig[]
      articleLink: IconConfig[]
    }
    icon: {
      asSvg: (id: IconId, options?: IconSvgOptions) => string
      asDataUrl: (id: IconId, options?: IconSvgOptions) => string
      asCssUrl: (id: IconId, options?: IconSvgOptions) => string
    }
  } {
    return {
      icons: {
        link: this.getIconsByTag(IconTag.LINK),
        videoSource: this.getIconsByTag(IconTag.VIDEO_SOURCE),
        articleLink: this.getIconsByTag(IconTag.ARTICLE_LINK),
      },
      icon: {
        asSvg: (id: IconId, options?: IconSvgOptions) => this.getSvgIcon(id, { ...options, format: IconFormatType.svg }),
        asDataUrl: (id: IconId, options?: IconSvgOptions) => this.getSvgIcon(id, { ...options, format: IconFormatType.dataUrl }),
        asCssUrl: (id: IconId, options?: IconSvgOptions) => this.getSvgIcon(id, { ...options, format: IconFormatType.cssUrl }),
      },
    }
  }

  /**
   * 应用图标样式变量
   */
  applyStyle(): void {
    const theme = ToolKit.browser.theme.getCurrentTheme()
    const styleContent = this.iconsStyleVar(theme)

    createStandardStyleTag(this.styleId, styleContent)
  }

  /**
   * 获取默认图标主题颜色
   */
  getIconThemeColor(theme: ThemeType, category: IconThemeSubCategory = 'default'): string {
    return ICON_THEME_COLOR.base[category][theme]
  }

  /**
   * 注册图标
   */
  registerIcons(): void {
    this.registerPlatformIcons()
    this.registerUserIcons()
    this.registerNavigationIcons()
    this.registerMetadataIcons()
    this.registerActionIcons()
    this.registerInterfaceIcons()
    this.registerDevelopmentIcons()
    this.registerToolIcons()
    this.registerMediaIcons()
    this.registerOtherIcons()
  }

  /**
   * 注册平台图标
   */
  private registerPlatformIcons(): void {
    const platformIcons: IconConfig[] = [
      {
        id: ICON_IDS.platform.greasyFork,
        name: '油叉',
        category: [IconCategory.PLATFORM],
        path: `<path d='M514.56 514.56m-486.4 0a486.4 486.4 0 1 0 972.8 0 486.4 486.4 0 1 0-972.8 0Z' fill='#000000'/><path d='M389.376 249.856c102.0416 103.0144 103.9872 105.8816 99.1744 141.5168-3.84 37.5296-3.84 37.5296 172.3392 216.576 97.2288 98.2016 177.152 183.8592 177.152 190.6176 0 26.9312-21.1968 49.1008-45.2608 49.1008-20.224 0-62.5664-36.5568-204.0832-177.152-153.088-152.1152-181.9648-176.1792-196.4032-168.448-31.744 18.2784-57.7536 0.9728-159.7952-101.0688-76.0832-76.0832-98.2016-103.9872-93.3888-117.4528 5.7856-14.4384 19.2512-3.84 82.7904 58.7264L298.9056 418.304l21.1968-21.1968 21.1968-21.1968-75.1104-75.9808c-50.0736-51.0464-71.2192-77.9776-63.5392-82.7904 7.68-4.8128 38.5024 20.224 85.6576 66.4064L361.472 356.7104l22.1184-21.1968 21.1968-22.1184-73.1648-73.1648C268.0832 175.7184 250.7776 144.896 277.7088 144.896c3.84 0 53.9136 47.2064 111.6672 104.96z' fill='#FFFFFF'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.platform.huggingface,
        name: 'Hugging Face',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M508.700444 881.777778A395.377778 395.377778 0 1 0 113.777778 486.4 395.377778 395.377778 0 0 0 508.700444 881.777778z' fill='#FFD21E'/><path d='M904.078222 486.4A395.377778 395.377778 0 1 0 508.700444 881.777778a395.377778 395.377778 0 0 0 395.377778-395.377778zM68.266667 486.4A440.888889 440.888889 0 1 1 508.700444 927.288889 440.888889 440.888889 0 0 1 68.266667 486.4z' fill='#FF9D0B'/><path d='M637.155556 378.766222c14.563556 5.12 20.252444 34.929778 34.929777 27.192889a56.888889 56.888889 0 1 0-76.913777-23.552c6.940444 13.084444 29.013333-8.192 41.984-3.640889zM369.208889 378.766222c-14.563556 5.12-20.366222 34.929778-34.929778 27.192889a56.888889 56.888889 0 1 1 76.913778-23.552c-6.940444 13.084444-29.127111-8.192-41.984-3.640889zM505.856 651.832889c111.843556 0 147.911111-99.669333 147.911111-150.869333 0-26.624-17.863111-18.318222-46.535111-4.096-26.510222 13.084444-62.122667 31.175111-101.376 31.175111-81.692444 0-147.911111-78.279111-147.911111-27.079111s36.067556 150.869333 147.911111 150.869333z' fill='#3A3B45'/><path d='M508.700444 768a98.759111 98.759111 0 0 0 34.133334-191.260444l-4.096-1.479112c-9.557333-2.958222-19.683556 29.582222-30.151111 29.582223s-19.342222-32.768-28.103111-30.151111a98.759111 98.759111 0 0 0 28.216888 193.422222z' fill='#F94040'/><path d='M776.078222 432.355556A36.977778 36.977778 0 1 0 739.555556 395.377778 36.977778 36.977778 0 0 0 776.078222 432.355556zM247.011556 432.355556a36.977778 36.977778 0 1 0-36.977778-36.977778A36.977778 36.977778 0 0 0 247.011556 432.355556zM170.666667 557.511111a59.392 59.392 0 0 0-45.511111 21.276445 67.356444 67.356444 0 0 0-15.132445 42.666666 82.830222 82.830222 0 0 0-22.072889-3.413333A60.302222 60.302222 0 0 0 42.552889 637.155556a65.991111 65.991111 0 0 0-18.090667 54.499555A63.488 63.488 0 0 0 33.450667 716.8a61.667556 61.667556 0 0 0-20.366223 32.085333 66.901333 66.901333 0 0 0 8.988445 53.930667c-0.910222 1.365333-1.706667 2.958222-2.503111 4.437333a59.164444 59.164444 0 0 0-1.592889 52.679111c11.377778 26.396444 40.618667 47.104 96.938667 69.518223 34.929778 13.767111 67.015111 22.755556 67.242666 22.755555a501.987556 501.987556 0 0 0 124.359111 18.090667c66.673778 0 114.346667-20.366222 141.767111-60.643556C492.430222 844.8 486.172444 785.066667 429.056 728.177778a313.230222 313.230222 0 0 1-56.888889-88.405334c-8.760889-30.264889-32.199111-63.943111-70.997333-63.943111a57.685333 57.685333 0 0 0-9.784889 0.796445 64.625778 64.625778 0 0 0-42.439111 27.079111A150.414222 150.414222 0 0 0 216.177778 572.074667 84.309333 84.309333 0 0 0 170.666667 557.511111z m0 45.511111a40.96 40.96 0 0 1 20.707555 7.395556C216.177778 625.777778 262.712889 706.332444 279.893333 737.621333a27.648 27.648 0 0 0 24.348445 14.904889c17.635556 0 31.288889-17.408 1.706666-39.594666-44.600889-33.336889-29.013333-87.836444-7.736888-91.022223a11.377778 11.377778 0 0 1 2.730666 0c19.342222 0 27.875556 33.336889 27.875556 33.336889a358.968889 358.968889 0 0 0 68.266666 105.699556c42.894222 42.894222 45.511111 77.368889 13.880889 123.335111-21.390222 31.288889-62.236444 40.732444-104.220444 40.732444A472.291556 472.291556 0 0 1 193.422222 908.060444c-1.251556 0-153.031111-43.235556-133.802666-79.644444a15.815111 15.815111 0 0 1 15.246222-8.647111c27.079111 0 76.344889 40.277333 97.507555 40.277333A8.760889 8.760889 0 0 0 182.044444 853.333333c8.988444-32.312889-137.216-45.511111-125.155555-92.842666a14.904889 14.904889 0 0 1 16.384-11.377778c35.726222 0 116.053333 62.919111 132.892444 62.919111a3.185778 3.185778 0 0 0 2.730667-1.251556c8.419556-13.539556 3.754667-22.755556-55.637333-59.050666S52.337778 694.044444 76.003556 667.875556a14.791111 14.791111 0 0 1 11.377777-4.323556c36.067556 0 121.287111 77.596444 121.287111 77.596444s22.755556 23.893333 36.977778 23.893334a8.419556 8.419556 0 0 0 7.736889-4.323556c9.784889-16.611556-91.704889-93.525333-97.393778-125.155555C152.120889 614.4 159.288889 603.022222 170.666667 603.022222z' fill='#FF9D0B'/><path d='M410.737778 883.939556c31.288889-45.511111 29.013333-80.440889-13.880889-123.335112a358.968889 358.968889 0 0 1-68.266667-105.699555s-9.329778-36.522667-30.606222-33.109333-36.864 57.799111 7.736889 91.022222-8.874667 55.978667-26.055111 24.689778S216.177778 625.777778 191.601778 610.417778s-41.301333-6.712889-35.612445 25.031111 107.292444 108.657778 97.393778 125.155555-44.714667-19.569778-44.714667-19.569777-108.885333-98.986667-132.664888-73.159111 18.090667 47.445333 77.482666 83.057777 64.056889 45.511111 55.637334 59.050667S69.404444 713.386667 56.888889 760.263111 191.032889 820.792889 182.044444 853.333333s-103.082667-61.44-122.197333-25.031111 132.551111 79.644444 133.802667 79.644445c49.038222 12.856889 173.511111 39.822222 217.088-24.007111z' fill='#FFD21E'/><path d='M852.195556 557.511111a59.278222 59.278222 0 0 1 46.648888 21.276445 67.356444 67.356444 0 0 1 15.132445 42.666666 83.626667 83.626667 0 0 1 22.755555-3.413333A60.302222 60.302222 0 0 1 980.650667 637.155556a66.332444 66.332444 0 0 1 18.090666 54.499555A65.422222 65.422222 0 0 1 989.866667 716.8a60.302222 60.302222 0 0 1 20.366222 32.085333 66.901333 66.901333 0 0 1-8.988445 53.816889c0.910222 1.365333 1.820444 2.958222 2.616889 4.437334a59.847111 59.847111 0 0 1 1.592889 52.679111c-11.377778 26.396444-40.732444 47.104-96.938666 69.518222-35.043556 13.767111-67.015111 22.755556-67.356445 22.755555A501.987556 501.987556 0 0 1 716.8 970.183111c-66.673778 0-113.777778-20.366222-141.767111-60.643555C530.659556 844.8 536.917333 785.066667 594.147556 728.177778a309.361778 309.361778 0 0 0 56.888888-88.405334c8.874667-30.264889 32.199111-63.943111 70.997334-63.943111a55.864889 55.864889 0 0 1 9.784889 0.796445 64.853333 64.853333 0 0 1 42.552889 27.079111 145.521778 145.521778 0 0 1 32.654222-31.857778A83.626667 83.626667 0 0 1 852.195556 557.511111z m0 45.511111a41.301333 41.301333 0 0 0-20.707556 7.395556C807.822222 625.777778 760.376889 706.332444 743.196444 737.621333a27.534222 27.534222 0 0 1-24.348444 14.904889c-17.521778 0-31.288889-17.408-1.592889-39.594666 44.487111-33.336889 28.899556-87.836444 7.623111-91.022223a11.377778 11.377778 0 0 0-2.730666 0c-19.342222 0-27.875556 33.336889-27.875556 33.336889a360.106667 360.106667 0 0 1-68.266667 105.699556c-43.008 42.894222-45.511111 77.368889-13.880889 123.335111 21.276444 31.288889 62.236444 40.732444 104.106667 40.732444a473.429333 473.429333 0 0 0 112.981333-16.611555c1.137778 0 153.031111-43.235556 133.802667-79.644445a15.928889 15.928889 0 0 0-15.246222-8.647111c-27.079111 0-76.344889 40.277333-97.507556 40.277334a8.647111 8.647111 0 0 1-9.443555-6.940445c-9.102222-32.312889 136.533333-45.511111 125.155555-92.842667a14.904889 14.904889 0 0 0-16.384-11.377777c-35.726222 0-116.053333 62.919111-132.892444 62.919111a2.844444 2.844444 0 0 1-2.616889-1.251556c-8.419556-13.539556-3.868444-22.755556 55.523556-59.050666s101.148444-57.799111 77.482666-83.968a14.677333 14.677333 0 0 0-11.377778-4.323556c-36.181333 0-121.400889 77.596444-121.400888 77.596444s-22.755556 23.893333-36.864 23.893334a8.419556 8.419556 0 0 1-7.736889-4.323556c-9.898667-16.611556 91.022222-93.525333 97.28-125.155555C870.968889 614.4 864.711111 603.022222 852.195556 603.022222z' fill='#FF9D0B'/><path d='M612.465778 883.939556c-31.288889-45.511111-29.127111-80.440889 13.880889-123.335112a360.106667 360.106667 0 0 0 68.266666-105.699555s9.329778-36.522667 30.606223-33.109333 36.864 57.799111-7.623112 91.022222 8.874667 55.978667 25.941334 24.689778S807.822222 625.777778 831.488 610.417778s41.415111-6.712889 35.612444 25.031111-107.178667 108.657778-97.28 125.155555 44.600889-19.569778 44.600889-19.569777 108.999111-99.100444 132.664889-73.272889-17.976889 47.445333-77.368889 83.399111-64.056889 45.511111-55.637333 59.050667 139.605333-96.938667 151.893333-50.062223-133.802667 60.529778-125.155555 92.842667 102.4-61.212444 122.197333-24.803556-132.551111 79.644444-133.802667 79.644445c-48.696889 12.970667-173.283556 39.936-216.746666-23.893333z' fill='#FFD21E'/>`,
        match: {
          link: /^https:\/\/huggingface.co/,
        },
      },
      {
        id: ICON_IDS.platform.oschina,
        name: 'OSC',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z' fill='#21B351'/><path d='M503.424 634.688c-68.16 0.448-123.648-44.032-127.36-126.976-3.776-77.376 64.384-129.28 129.216-130.624C579.84 375.168 624.64 460.48 624.64 460.48l192.64-70.912S737.92 184.32 523.456 184.32c-200.576 0-339.136 139.008-339.136 327.552 0 167.68 130.56 334.976 334.464 327.552 223.936-8.32 300.416-205.248 300.416-205.248L621.44 568.96c0.448-0.96-40.128 65.792-118.016 65.792' fill='#FFFFFF'/>`,
        match: {
          link: /^https:\/\/my.oschina.net/,
        },
      },
      {
        id: ICON_IDS.platform.aliyun,
        name: '阿里云',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M344.8620198 721.82988526a57.857089 57.857089 0 0 1-46.13274501-56.07295017v-308.4012244a59.89610558 59.89610558 0 0 1 46.13274501-56.07295017l286.35436058-62.06256065 30.07549089-122.72329718H328.80476645A210.78331632 210.78331632 0 0 0 116.61962599 327.28021902v364.47417458a213.71440233 213.71440233 0 0 0 212.18514046 212.31257895h332.48710482l-30.07549089-122.21354321zM1178.05508073 116.49690269H843.01920461l30.58524561 122.72329718 286.35436059 62.06256065a57.98452749 57.98452749 0 0 1 46.132745 56.07295017v308.4012244a60.15098257 60.15098257 0 0 1-46.13274502 56.07295017l-286.35436057 62.06256066-30.58524561 122.72329716H1178.05508073a212.44001744 212.44001744 0 0 0 212.94977139-212.82233291V327.28021902A213.33208686 213.33208686 0 0 0 1178.05508073 116.49690269z' fill='#F76E05'/><path d='M631.21638038 495.49906876h244.29964793v30.07549166H631.21638038z' fill='#F76E05'/>`,
        metadata: {
          viewBox: '0 0 1653 1024',
        },
        match: {
          link: /^https:\/\/developer.aliyun.com/,
        },
      },
      {
        id: ICON_IDS.platform.imooc,
        name: '慕课',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M473.48 68.39c37.82 36.55 69.63 80.35 88.43 129.71 10.77 28.85 15.85 60.14 12.17 90.86-3.6 44.72-12.74 89.02-12.41 134.02 0.28 22.64 18.81 43.24 41.27 46 21.49 3.35 43.92-10.34 51.35-30.66 6.23-15.39 2.64-32.85-6.23-46.4 38.9 41.82 68.8 91.93 88.52 145.49 17.8 41.83 23.41 88.6 16.6 133.51-4.2 38.44-16.9 75.75-35.94 109.36-30.37 53.74-75.13 97.95-124.1 134.9-17.61 12.96-35.37 25.93-54.35 36.8 1.88-2.51 4.39-4.38 6.76-6.39 24.01-20.82 44.04-46.28 58.36-74.67 32.77-63.76 35.38-142.07 6.92-207.87-20.4 17.18-46.12 28.2-72.82 29.93-31.26 2.37-63.22-7.66-87.56-27.41-25.33-20.14-42.3-50.37-46.31-82.49-2.95-21.42 0.24-43.41 8.07-63.5-56.71 51.27-86.02 130.49-77.5 206.37 4.93 48.11 24.63 94.53 55.69 131.59 5.15 6.73 12.03 12.1 16.06 19.66-48.26-39.72-89.66-89.26-114.85-146.83-17.43-39.92-25.85-83.91-23.08-127.45 1.88-32.77 9.8-65.03 21.91-95.5 26.07-63.01 60.26-122.5 100.38-177.6 17.97-24.85 35.97-49.69 52.35-75.63 35.58-54.12 46.25-123.17 30.31-185.8z' fill='#DE4A3F'/>`,
        match: {
          link: /^https:\/\/www.imooc.com|^https:\/\/m.imooc.com/,
        },
      },
      {
        id: ICON_IDS.platform.runoob,
        name: '菜鸟教程',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M638.213953 323.189369c-12.757475-3.061794-20.24186-16.499668-18.540863-33.509635 2.041196-19.901661 19.561462-30.107641 41.164119-24.154153 14.968771 4.252492 21.772757 18.881063 17.860465 38.102326-3.401993 16.839867-19.561462 24.494352-40.483721 19.561462z' fill='#ECCB47'/><path d='M472.026578 1012.093023c-1.871096-0.850498-8.504983-1.530897-14.798671-1.530897-6.123588-0.1701-14.968771-0.850498-19.561462-1.871096-4.422591-0.850498-16.499668-3.231894-26.875747-5.10299-25.51495-4.93289-67.869767-17.350166-85.560133-25.004651-122.471761-53.411296-205.820598-130.466445-261.613289-242.051828-8.845183-17.690365-15.989369-32.659136-15.989369-33.509634 0-0.680399-2.381395-6.974086-5.10299-13.948173-5.443189-13.267774-17.009967-52.220598-20.071761-68.209967-1.020598-5.10299-2.381395-11.566777-2.891694-14.458471-5.953488-29.087043-7.994684-52.900997-8.164784-91.853821 0-32.659136 1.871096-60.895681 5.443189-80.797342 1.020598-5.10299 2.381395-13.948173 3.401993-19.561462 2.211296-14.118272 8.845183-38.782724 17.009967-62.086379 18.881063-54.942193 46.777409-105.972093 81.647841-149.687707 16.839867-21.092359 59.704983-63.957475 80.116943-80.116944 67.529568-53.581395 145.605316-88.281728 229.634552-102.059801 45.92691-7.484385 118.049169-7.484385 162.445183 0 21.432558 3.572093 55.452492 11.396678 71.44186 16.499668 126.554153 40.653821 234.567442 133.01794 294.952824 252.427907 23.643854 46.607309 40.82392 102.5701 47.627907 153.9402 1.020598 7.484385 2.551495 19.731561 3.572093 27.215946 2.211296 17.009967 2.211296 71.952159 0.1701 87.26113-1.020598 6.293688-2.551495 17.860465-3.572093 25.855149-11.566777 88.792027-53.581395 183.027243-113.286379 253.448505-16.499668 19.731561-56.813289 58.514286-71.101661 68.890366-6.463787 4.762791-15.649169 11.736877-20.58206 15.649169-12.757475 10.03588-45.756811 29.597342-69.740864 41.33422-54.772093 26.535548-107.162791 41.504319-168.398671 47.968106-22.283056 2.381395-85.730233 3.401993-90.152824 1.360797z m334.926246-226.232558c11.906977-4.592691 20.24186-13.607973 23.813953-26.025249 2.381395-8.334884 2.721595-31.128239 2.721595-211.944186 0-179.28505-0.340199-202.418605-2.551495-201.568106s-2.551495-3.061794-2.551495-29.257143c0-38.102326-3.231894-51.3701-15.13887-64.127575-10.546179-11.396678 14.968771-10.546179-297.844519-11.056478-202.928904-0.340199-285.087043 0-290.019933 1.360797-18.370764 5.10299-28.746844 19.221262-31.468439 42.865116-2.211296 18.710963-2.211296 51.880399 0 53.241196 2.721595 1.700997 1.871096 5.443189-1.360797 6.293688-2.211296 0.680399-3.572093 3.061794-4.252492 7.484385-0.680399 3.742193-1.190698 92.02392-1.190697 196.295017 0 218.918272-0.1701 215.686379 13.267774 228.443854 2.721595 2.551495 8.675083 6.123588 13.267774 7.994684 8.164784 3.231894 16.669767 3.231894 296.143521 3.401993 285.767442 0 287.978738 0 297.16412-3.401993z' fill='#90C751'/><path d='M762.89701 322.67907c-11.056478-5.27309-16.159468-14.628571-16.159468-29.427243 0-14.458472 6.463787-23.813953 19.391362-27.896345 8.334884-2.721595 21.602658-1.190698 28.746844 3.231893 8.504983 5.27309 11.396678 11.736877 11.396677 25.174751 0 13.948173-3.572093 21.942857-11.566777 26.535548-7.314286 4.252492-24.834551 5.443189-31.808638 2.381396z' fill='#DA575D'/><path d='M701.49103 323.699668c-2.041196-0.340199-6.633887-3.231894-10.20598-6.293688-6.293688-5.443189-6.293688-5.613289-7.144186-20.24186-0.680399-12.757475-0.340199-15.30897 2.891694-20.411961 4.93289-8.164784 12.757475-11.396678 27.045847-11.396677 21.092359 0 29.937542 10.03588 28.746844 31.978737-0.680399 11.396678-1.190698 12.927575-6.463787 18.370764-7.824585 7.994684-20.24186 10.886379-34.870432 7.994685z' fill='#21A6AF'/><path d='M446.511628 688.903654c-0.340199-0.510299 18.540864-53.411296 42.014618-117.36877 23.303654-64.127575 43.035216-118.389369 43.715614-120.770764 1.190698-4.082392 2.041196-4.252492 15.47907-4.762791 18.030565-0.680399 19.221262-0.1701 16.839867 5.953488-1.020598 2.551495-20.58206 55.962791-43.375415 118.729568s-42.014618 115.157475-42.865116 116.518273c-1.190698 2.041196-4.93289 2.551495-16.499668 2.551495-8.164784 0-14.968771-0.340199-15.30897-0.850499zM349.554817 607.085714c-39.293023-21.602658-73.142857-40.313621-75.354153-41.674418-2.551495-1.700997-3.742193-4.082392-3.742192-7.994685 0-5.443189 0.680399-5.953488 22.453156-17.690365 12.417276-6.633887 46.607309-25.174751 76.034551-41.16412 29.427243-15.819269 53.921595-28.576744 54.601994-28.236545 1.360797 0.850498 0.850498 33.849834-0.680399 36.23123-0.510299 0.850498-20.922259 12.587375-45.246512 26.025249s-44.225914 25.34485-44.225913 26.365448 2.891694 3.231894 6.463787 4.762791c3.401993 1.530897 23.984053 12.587375 45.416612 24.664452 36.231229 20.071761 39.122924 21.942857 38.952823 26.195349 0 2.551495-0.1701 10.716279-0.340199 18.200664s-0.850498 13.607973-1.530897 13.607974c-0.850498 0-33.509635-17.690365-72.802658-39.293024zM597.049834 628.007973v-18.370764l45.92691-25.34485c25.34485-13.948173 45.246512-26.025249 44.566113-26.705648s-21.262458-12.247176-45.416611-25.68505l-44.225914-24.324252-0.510299-19.221263c-0.1701-10.886379 0.1701-18.881063 1.020598-18.540864 0.850498 0.1701 35.380731 18.881063 76.71495 41.16412 47.117608 25.51495 75.354153 41.844518 76.034552 43.885714 0.510299 1.700997 0.510299 4.422591 0 6.123588-0.510299 1.530897-13.778073 9.865781-29.597342 18.540864-15.649169 8.675083-49.328904 27.215947-75.013954 41.16412-25.68505 14.118272-47.287708 25.68505-47.968106 25.68505-0.850498 0-1.530897-8.334884-1.530897-18.370765zM508.598007 345.302326l-320.637874-0.850499-0.510299-23.813953c-0.680399-32.659136 1.700997-51.3701 7.654485-62.426578 5.27309-9.865781 14.458472-17.009967 25.174751-20.071761 4.93289-1.360797 88.451827-1.700997 295.122923-1.360797 265.015282 0.510299 288.659136 0.680399 293.421927 3.401993 11.056478 6.123588 19.391362 18.881063 22.793356 35.380731 2.551495 11.396678 1.871096 70.251163-0.680399 70.421262-0.850498 0.1701-145.945515-0.1701-322.33887-0.680398z m153.089701-29.767442c2.381395-1.190698 5.613289-3.572093 7.144186-5.44319 3.231894-3.572093 5.953488-14.628571 5.10299-21.262458-0.850498-6.803987-10.20598-15.989369-18.710964-18.200665-17.350166-4.762791-34.019934 12.587375-29.257143 30.107642 4.082392 15.47907 20.752159 22.283056 35.720931 14.798671z m57.833887 2.551495c14.458472-4.082392 22.453156-21.262458 15.819269-34.019934-8.845183-17.009967-33.339535-18.200664-43.205316-2.211295-3.061794 4.93289-3.572093 7.484385-2.721595 15.479069 0.850498 8.504983 1.700997 10.37608 7.144187 15.138871 5.613289 4.762791 8.675083 6.123588 15.30897 7.144186 1.020598 0 4.422591-0.680399 7.654485-1.530897z m70.591362-3.231894c10.20598-5.783389 14.288372-23.133555 7.824585-32.999335-9.525581-14.628571-28.236545-16.159468-39.293024-3.401994-8.675083 9.865781-8.845183 21.262458-0.510299 31.298339 8.675083 10.20598 20.071761 12.077076 31.978738 5.10299z' fill='#2F4C5A'/>`,
        match: {
          link: /^https:\/\/www.runoob.com/,
        },
      },
      {
        id: ICON_IDS.platform.baidu,
        name: '百度',
        category: [IconCategory.PLATFORM],
        path: `<path d='M401.99 573.727h66.518v345.38H353.38c-12.792 0-25.584 0-38.376-2.559-25.583-5.116-48.609-20.467-63.959-40.933-12.792-15.35-20.467-33.26-23.025-53.726a246.563 246.563 0 0 1 0-61.401c5.117-23.025 17.908-43.492 33.259-58.843 12.792-12.792 30.7-23.025 48.609-28.142 7.675-2.558 15.35-5.116 23.025-5.116h69.076v-94.66m-71.634 156.06c-12.792 5.117-25.584 15.35-33.26 28.142-5.116 12.792-7.674 25.584-7.674 35.818 0 15.35 5.117 30.7 12.792 43.492 10.233 15.35 28.142 23.025 46.05 23.025h53.726V722.112h-58.842c-5.117 2.559-10.234 5.117-12.792 7.675z m173.969-56.284h66.518v161.178c0 7.675 2.558 12.791 7.675 17.908 5.116 5.117 12.791 7.675 20.467 7.675h69.076v-186.76h66.517v243.044H575.96c-17.908-2.558-33.259-7.675-46.05-17.908-15.35-12.792-23.026-33.259-23.026-51.168-2.558-56.284-2.558-115.126-2.558-173.969z' fill='#FCFBFF'/><path d='M373.848 0.652c20.467-2.558 40.934 2.558 58.843 12.792 25.583 17.908 43.492 46.05 53.725 74.192 15.35 46.051 15.35 97.219-2.558 143.27-7.675 23.025-23.025 43.491-40.934 58.842-15.35 12.792-33.259 20.467-53.726 20.467s-38.375-7.675-53.726-17.909c-25.583-17.909-40.933-46.05-48.609-76.751-12.791-43.492-12.791-92.101 5.117-135.594 10.234-25.583 25.584-48.609 48.61-66.517 5.116-2.559 17.908-10.234 33.258-12.792z m294.213 23.025c15.35-2.558 28.142 0 40.934 7.675 17.908 7.675 33.258 23.026 46.05 38.376 17.909 23.025 28.142 48.609 33.259 76.751 2.558 20.467 0 38.376-5.117 58.842-7.675 23.026-15.35 43.493-30.7 63.96-12.792 17.908-25.584 30.7-43.492 43.492-15.35 10.234-35.818 15.35-53.726 12.792-23.026-2.558-46.05-10.234-63.96-25.584s-28.142-38.375-30.7-61.4c-5.117-25.584-5.117-48.61-2.558-74.193 2.558-23.026 12.792-43.493 23.025-61.401 12.792-20.467 25.584-38.376 43.492-51.168 10.234-15.35 25.584-23.025 43.493-28.142zM138.478 233.464c20.467-5.117 43.492 0 63.96 10.233 28.141 15.35 48.608 40.934 63.958 69.076 5.117 12.792 10.234 25.584 10.234 38.376 2.558 33.258 2.558 66.517-7.675 97.218-5.117 20.467-17.909 40.934-35.817 56.284-20.467 17.908-48.61 28.142-76.751 28.142-23.026 0-46.051-7.675-63.96-23.025-23.025-20.467-38.375-48.61-46.05-79.31-5.117-20.467-7.676-40.934-5.117-61.4 5.117-33.26 15.35-69.077 33.259-97.219 17.908-17.908 38.375-33.259 63.959-38.375z m688.202 76.75c25.583-2.558 51.167 0 74.192 12.793 20.467 10.233 38.376 30.7 48.61 51.167 10.233 17.909 15.35 35.817 17.908 56.284 0 28.142 2.558 56.284-5.117 84.426-5.117 20.467-10.233 38.376-23.025 53.726-12.792 15.35-28.142 25.584-46.05 30.7-17.91 5.117-38.376 5.117-56.285 2.559-23.025-2.558-46.05-7.675-63.96-23.025-15.35-12.792-25.583-30.7-33.258-48.61-7.675-25.583-7.675-51.167-7.675-79.309s5.117-56.284 15.35-81.868c7.675-17.908 20.467-35.817 40.934-46.05 10.233-7.676 23.025-12.792 38.376-12.792zM483.858 412.55c25.584-2.558 51.167 2.559 76.751 12.792 35.817 17.909 63.96 48.61 86.985 81.868 25.583 38.376 58.842 74.193 89.543 107.452 30.7 30.7 63.959 61.4 97.218 89.543 5.116 5.116 12.792 10.233 17.908 15.35 25.584 25.584 40.934 61.4 46.05 99.776 2.56 38.376-5.116 76.751-20.466 112.569-12.792 25.583-33.259 48.609-56.284 61.4-35.817 17.91-74.193 23.026-115.127 23.026-38.375-2.558-76.751-7.675-112.568-20.467-43.492-12.792-89.543-15.35-135.594-10.234-20.467 2.559-40.934 7.676-61.4 10.234-46.051 7.675-94.66 10.233-143.27 7.675-40.933 0-76.75-20.467-102.334-51.167-15.35-17.909-25.584-40.934-33.259-63.96-7.675-20.467-10.234-43.492-10.234-66.517 0-25.584 10.234-53.726 23.026-76.751 20.467-35.818 48.609-63.96 79.31-86.985 10.233-7.675 17.908-12.792 25.583-23.025 15.35-12.792 30.7-25.584 46.05-40.934 28.143-25.584 53.726-53.726 74.193-86.985 5.117-7.675 10.234-17.908 17.909-28.142 23.025-35.817 63.96-63.96 110.01-66.518M401.99 573.727v97.218h-69.076c-7.675 0-15.35 2.558-23.025 5.117-17.909 5.116-35.817 15.35-48.61 28.142-15.35 15.35-28.141 35.817-33.258 58.842a246.563 246.563 0 0 0 0 61.401c2.558 17.909 10.233 38.376 23.025 53.726 15.35 20.467 38.376 35.817 63.96 40.934 12.791 2.558 25.583 2.558 38.375 2.558h115.127v-345.38c-23.026-2.558-43.493-2.558-66.518-2.558m102.335 99.776v173.97c0 20.466 7.675 38.375 23.025 51.167 12.792 10.233 30.7 17.908 46.05 17.908h158.62V673.503h-66.518v186.761h-69.076c-7.675 0-15.35-2.558-20.467-7.675-5.116-5.117-7.675-12.792-7.675-17.908V673.503h-63.96z' fill='#2932e1'/><path d='M330.356 729.787c5.116-2.558 10.233-5.116 15.35-5.116h58.842v138.152h-53.725c-17.909 0-35.818-7.675-46.051-23.026-7.675-12.792-12.792-28.142-12.792-43.492 0-12.792 2.559-25.584 7.675-35.817 2.559-15.35 15.35-25.584 30.7-30.7z' fill='#2932e1'/>`,
      },
      {
        id: ICON_IDS.platform.quark,
        name: '夸克',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M466.48395 1021.645c-120.473-10.65-235.417-65.024-317.645-149.76C66.30495 786.585 24.42295 703.13 4.40395 583.782c-5.222-30.924-5.99-104.806-1.28-135.219C14.28595 373.402 39.27095 302.131 73.37095 247.347 169.88295 91.7 331.93095 0 509.95295 0c75.98 0 144.384 13.824 210.278 42.65 57.498 25.241 120.73 70.144 163.124 116.224 66.355 72.038 100.454 133.376 125.44 225.996 19.763 73.063 20.275 175.77 1.536 248.32-21.095 80.384-49.716 137.78-101.223 201.524-44.749 55.654-91.801 94.873-153.753 128.204-65.076 35.124-125.184 52.532-201.216 58.778-37.172 3.072-51.456 3.072-87.655 0v-0.051z m91.853-260.506c12.8-5.478 22.63-20.838 22.63-35.635 0-25.498 4.967-54.374 11.47-67.072 13.311-26.06 30.975-35.123 84.582-43.469 20.787-3.072 42.137-7.526 47.36-9.625 14.848-6.503 27.084-18.944 35.123-36.352 7.27-15.872 7.526-17.408 7.526-58.01-0.256-45.056-1.792-54.886-17.408-95.232-23.193-60.467-84.019-120.832-144.435-142.643a427.11 427.11 0 0 0-53.862-13.517c-28.621-4.71-34.048-4.966-58.778-2.048-48.896 5.632-79.104 15.309-112.947 35.584-21.35 12.954-22.887 14.336-48.64 39.731-37.735 37.223-57.242 73.37-69.223 127.488-20.838 94.874 16.896 194.97 96 255.335 33.076 25.19 81.408 45.516 116.583 48.896 30.208 3.072 72.857 1.28 84.019-3.43z' fill='#3A25DD'/>`,
        match: {
          link: /^https:\/\/quark.cn/,
        },
      },
      {
        id: ICON_IDS.platform.jetbrains,
        name: 'JetBrains',
        category: [IconCategory.PLATFORM],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<defs><linearGradient id='a' x1='.425' x2='31.31' y1='31.36' y2='.905' gradientUnits='userSpaceOnUse'><stop stop-color='#FF9419'/><stop offset='.43' stop-color='#FF021D'/><stop offset='.99' stop-color='#E600FF'/></linearGradient></defs><path fill='url(#a)' d='m10.17 1.83-8.34 8.34C.66 11.34 0 12.93 0 14.59V29.5C0 30.88 1.12 32 2.5 32h14.91c1.66 0 3.245-.66 4.42-1.83l8.34-8.34c1.17-1.17 1.83-2.76 1.83-4.42V2.5C32 1.12 30.88 0 29.5 0H14.59c-1.66 0-3.245.66-4.42 1.83Z'/><path fill='#000' d='M24 8H4v20h20V8Z'/><path fill='#fff' d='M15 24H6v2h9v-2Z'/>`,
        metadata: {
          viewBox: '0 0 32 32',
        },
        match: {
          link: /^https:\/\/www.jetbrains.com|^https:\/\/plugins.jetbrains.com/,
        },
      },
      {
        id: ICON_IDS.ai.deepseek,
        name: '深度求索',
        category: [IconCategory.PLATFORM, IconCategory.AI],
        tag: [IconTag.LINK],
        path: `<path d='M1333.74443323 82.22042509c-13.80988113-6.90651166-19.77216769 6.25765149-27.83971486 12.94735271-2.7494075 2.15867766-5.09661597 4.96464441-7.44382443 7.55380074-20.17908001 22.01097094-43.75485659 36.47128333-74.589069 34.74465541-45.04943475-2.58915632-83.51757347 11.86958497-117.50810569 47.04629015-7.2285851-43.37779501-31.23798253-69.2740715-67.78939144-85.89149046-19.15315822-8.63156848-38.46813872-17.26470805-51.87582082-36.04080467-9.33227462-13.37940245-11.86958497-28.2701935-16.56243082-42.94417414-2.96778901-8.8483789-5.93557805-17.91199713-15.91514173-19.42338573-10.87194282-1.72662791-15.10760146 7.55380073-19.36996865 15.3228408-16.99448057 31.72344934-23.6040562 66.68491519-22.93005859 102.07685969 1.45797153 79.63383898 34.42258196 143.08073766 99.86633603 188.18516058 7.44539552 5.17831264 9.36055423 10.35819639 7.01334578 17.91042602-4.45089798 15.53808012-9.79260399 30.6456816-14.45874129 46.18376174-2.9693601 9.92771773-7.418687 12.0848243-17.85858007 7.76904006-35.90569092-15.3228408-66.92843413-37.9826719-94.36280776-65.38876592-46.53254371-45.9685224-88.61576053-96.6833077-141.08388229-136.39103645a620.44857966 620.44857966 0 0 0-37.41550843-26.11308694c-53.54746058-53.0887023 7.01334578-96.68173661 21.0416084-101.86162035 14.6472721-5.39512307 5.09818706-23.95440928-42.29845612-23.73916995s-90.74772965 16.40217963-145.99510964 37.98267191c-8.09111351 3.2364454-16.59071043 5.6103624-25.27569597 7.55380074-50.17590143-9.71247839-102.23868196-11.86958497-156.65024201-5.61193348-102.42721275 11.65434565-184.24643792 61.07455278-244.40190308 145.45465466-72.24186053 101.4295706-89.26462071 216.6721645-68.4115431 336.87626062 21.85071977 126.68012914 85.21592177 231.56295556 182.54651857 313.56914048 100.94410379 85.02739095 217.18433986 126.68012914 349.79847589 118.69584973 80.54978445-4.74940507 170.2181753-15.75489055 271.37751842-103.15776961 25.51921492 12.94892381 52.30629946 18.12880755 96.71001624 22.01254203 34.23248007 3.2364454 67.17038198-1.72662791 92.66288839-7.12175096 39.95124769-8.63156848 37.17198947-46.39900106 22.7399567-53.30394163-117.10276448-55.67942971-91.39501876-33.01959858-114.755556-51.36207439 59.50817604-71.86479892 149.17656689-146.53556459 184.24643795-388.45514546 2.77768711-19.20657529 0.43047867-31.29139958 0-46.82947971-0.21681042-9.49566798 1.88687908-13.16573423 12.54358259-14.24350198 29.32282382-3.45325582 57.80982774-11.65434565 83.9496232-26.32832626 75.85536753-42.29845616 106.47276951-111.78933809 113.70292571-195.09167222 1.07933883-12.73211339-0.21523932-25.89627652-13.40768208-32.58597776M672.59048267 831.93671913c-113.46097785-91.07137422-168.51982701-121.06819563-191.25978372-119.77361748-21.25684774 1.29457817-17.42653031 26.11308695-12.76039301 42.29845614 4.88294773 15.97012989 11.27571295 26.97561536 20.20421747 41.00387801 6.15238845 9.28042865 10.41475564 23.09188086-6.17595481 33.45007725-36.55298001 23.09188086-100.08157538-7.76904006-103.04779332-9.27885757-73.96848843-44.45713381-135.82544403-103.1577696-179.39176984-183.43732658-42.08164574-77.25992199-66.4948133-160.1302064-70.54194114-248.61085317-1.07933883-21.36525295 5.09818706-28.91905367 25.89784762-32.80435928a250.87636497 250.87636497 0 0 1 83.11223228-2.15710656c115.83646593 17.26627914 214.46006978 70.138171 297.11354374 153.8725549 47.18140388 47.69200813 82.87028441 104.66601601 119.66521225 160.34544572 39.08871926 59.12954337 81.17193611 115.45626214 134.71939669 161.63845278 18.90963927 16.18536923 33.98896113 28.48700395 48.44770242 37.55062216-43.56632578 4.96464441-116.26537349 6.04241215-165.98251663-34.09736632m54.40998899-357.16217477c0-9.49566798 7.44696661-17.04946873 16.80594974-17.04946872q3.18302835 0.05498814 5.71876762 1.07933883a16.91435498 16.91435498 0 0 1 10.84523431 15.97012989 16.83265829 16.83265829 0 0 1-16.77924123 17.04946872 16.6441275 16.6441275 0 0 1-16.59071044-17.04946872m168.95187674 88.48064679c-10.81852576 4.53259466-21.66218896 8.41790022-32.10208201 8.8483789-16.13195215 0.8640995-33.7737218-5.82560173-43.32280686-14.02669155-14.89079105-12.73368447-25.52078602-19.85543545-29.97168398-42.08321683-1.91515871-9.49566798-0.8640995-24.16964861 0.83739098-32.58597774 3.83031742-18.12880755-0.43204976-29.78158209-12.94892381-40.35658891-10.19637413-8.63313957-23.17357754-11.00705657-37.41550843-11.00705657-5.31499747 0-10.19637413-2.37234591-13.81145222-4.31578423a14.16180529 14.16180529 0 0 1-6.15081735-19.85386437c1.48310897-3.02120608 8.71326515-10.35976749 10.41318453-11.65434564 19.34011795-11.2222959 41.64959598-7.55222964 62.25915463 0.8640995 19.1264497 7.9842794 33.55848246 22.65983111 54.4115601 43.37779497 21.25684774 25.03374811 25.08716515 31.94025977 37.17198946 50.71478532 9.57736465 14.67398064 18.29062981 29.78158209 24.22620784 47.04471904 3.64021553 10.79181723-1.0526303 19.63862503-13.59621288 25.03374811' fill='#4D6BFE'/>`,
        metadata: {
          viewBox: '0 0 1391 1024',
        },
        match: {
          link: /^https:\/\/(chat.deepseek.com|deepseek.com)/,
        },
      },
      {
        id: ICON_IDS.ai.douBao,
        name: '豆包',
        category: [IconCategory.PLATFORM, IconCategory.AI],
        tag: [IconTag.LINK],
        path: `<path d='M480.69 1023.728c-2.223-0.227-10.284-0.992-17.912-1.704-45.907-4.26-97.524-17.4-141.6-36.042-37.99-16.077-81.927-41.5-98.253-56.855-3.495-3.29-12.596-10.97-20.228-17.07C101.822 831.403 35.78 705.308 25.186 573.139l-1.38-17.248 0.628-32.46 0.63-32.455 1.839-14.059c20.567-157.368 109.415-291.266 243.414-366.82l13.294-7.497 13.294-13.324c44.71-44.802 97.362-75.126 150.845-86.873l6.933-1.53h86.694l12.975 3.745 12.98 3.74 11.42 5.884c12.407 6.392 25.08 15.4 34.482 24.509l5.972 5.78 2.7-0.612c1.486-0.332 6.811-1.704 11.84-3.04l9.143-2.434h18.174l6.868 2.796 6.876 2.792 11.329 9.629c14.404 12.245 15.382 12.922 33.329 22.936 21.232 11.852 31.324 19.445 46.623 35.068 7.37 7.531 16.785 16.085 20.918 19.004 105.93 74.94 175.494 177.874 201.706 298.474 38.462 176.956-21.639 356.761-159.12 476.033-6.775 5.88-12.581 11.38-12.909 12.224-0.323 0.843-5.443 5.177-11.376 9.629-70.59 52.966-153.309 85.326-241.968 94.662l-18.493 1.948-30.058 0.25c-16.527 0.14-31.87 0.065-34.093-0.162z m84.492-502.989c1.582-12.744-0.992-23.897-4.286-18.567-1.17 1.891-1.345 13.67-0.249 16.833 0.83 2.402 4.286 3.722 4.535 1.734z m105.279-36.877c3.779-3.425 1.935-8.493-3.09-8.493-4.866 0-6.876 5.099-3.385 8.59 2.316 2.315 3.831 2.289 6.475-0.097z m-271.488-21.599c0.323-0.852 0.179-2.22-0.328-3.04l-0.918-1.486-1.284 0.795c-0.708 0.437-1.289 1.805-1.289 3.037v2.245h1.612c0.887 0 1.879-0.699 2.207-1.55z m144.099-177.538c0.655-1.232 1.197-3.311 1.197-4.626v-2.385h-4.627v9.244h1.119c0.611 0 1.651-1.005 2.31-2.233z m33.56-4.7v-2.316H558.14v4.631h18.488z m-12.918-12.626l1.66-0.926-1.258-0.774c-1.529-0.948-0.463-4.172 1.38-4.172 0.735 0 2.002-1.07 2.823-2.38l1.485-2.386 3.128 0.363 3.124 0.358 0.363 3.18 0.367 3.18h4.473v-2.184c0-1.197 0.778-3.67 1.73-5.487 2.198-4.216 2.198-6.204 0.005-6.204h-1.735v-2.743c0-1.512 0.782-3.399 1.735-4.19 3.07-2.547-1.189-6.946-4.623-4.775-0.637 0.402-2.717 0.856-4.626 1.005-1.905 0.157-6.195 0.599-9.533 0.983l-6.072 0.699v4.4h5.01c5.78 0 6.519 0.458 5.71 3.538-0.694 2.656-3.254 2.97-4.202 0.507-0.363-0.953-1.188-1.735-1.826-1.735h-1.162l0.668 3.364 0.673 3.364-2.36 1.259c-1.297 0.699-4.053 1.266-6.133 1.266h-3.775l1.39 1.385c1.835 1.835 1.769 5.47-0.105 6.19-0.817 0.315-1.573 1.661-1.673 2.998l-0.18 2.42 5.942-0.786c3.277-0.437 6.693-1.206 7.602-1.717z m-19.445-3.556v-4.627h-9.249v9.249h9.249z m9.244-11.56v-2.316h-4.622v4.631h4.622z m39.302-18.497v-2.311h-6.934v4.626h6.934z' fill='#CAE3FD'/><path d='M474.334 0l-15.601 2.005-15.605 2.001-14.67 4.5c-19.118 5.858-37.769 13.827-56.096 23.958-31.892 17.641-70.49 49.52-89.096 73.596-2.949 3.814-8.59 10.743-12.538 15.396-17.572 20.708-47.008 70.765-56.537 96.148-0.834 2.228-3.163 7.95-5.172 12.713-17.947 42.586-37.427 112.369-41.626 149.114-5.88 51.517-7.715 119.678-4.015 149.11 0.284 2.229 0.817 9.507 1.189 16.183 0.37 6.675 1.406 22.018 2.298 34.102 0.89 12.08 2.175 35.483 2.857 52.015 1.909 46.396 3.473 69.76 4.87 72.827l1.281 2.809 8.213 3.364c4.513 1.852 14.71 4.775 22.657 6.5a2881.1 2881.1 0 0 1 23.788 5.274c5.133 1.18 17.095 3.495 26.583 5.155 9.49 1.66 25.055 4.526 34.588 6.365 9.537 1.84 20.721 3.504 24.854 3.696l7.514 0.35 0.577-8.091 0.576-8.091 19.651 0.34c10.808 0.188 24.072 0.835 29.476 1.442 5.404 0.612 17.628 1.39 27.165 1.73 9.537 0.345 20.59 0.909 24.561 1.25l7.226 0.624-0.022 8.288c-0.104 37.807-12.713 74.618-32.232 94.116l-7.235 7.226-3.084 0.63c-8.45 1.72-12.071 3.245-17.17 7.216-11.437 8.908-21.913 14.666-74.059 40.735-51.67 25.824-73.046 37.903-74.697 42.202l-0.786 2.045 2.634 2.817c1.446 1.547 7.576 6.09 13.613 10.092 74.151 49.131 155.79 76.279 245.053 81.504 19.37 1.136 53.002 0.463 62.766-1.245 3.687-0.647 11.49-1.341 17.34-1.538 19.755-0.664 67.086-10.201 93.002-18.742 58.34-19.222 114.92-48.755 151.989-79.337l5.491-4.526v-2.15c0-1.179-4.207-8.413-9.349-16.076l-9.358-13.928-8.27-7.606c-13.853-12.726-23.045-16.06-55.527-20.14-29.493-3.713-43.25-5.723-55.046-8.06a1929.621 1929.621 0 0 0-21.966-4.185l-10.979-2.019-9.249-4.316c-5.085-2.372-12.32-5.116-16.077-6.095l-6.824-1.778-5.015-4.919-5.01-4.923-4.72-9.057-4.709-9.06-2.804-11.224c-4.212-16.864-6.672-49.096-3.95-51.814l1.175-1.17 7.209 0.89c3.962 0.49 20.987 1.958 37.833 3.256 16.85 1.297 37.694 2.927 46.322 3.612l15.693 1.254 31.123-1.28c41.224-1.7 38.117-0.48 36.33-14.242-0.598-4.605-1.11-20.708-1.127-35.78l-0.035-27.414 2.95-18.83c1.616-10.349 4.364-24.281 6.098-30.956l3.146-12.137 16.155-2.027 16.156-2.023 11.56-3.565c12.966-4.001 18.467-6.828 29.747-15.29l7.78-5.841 4.588-6.536c8.47-12.07 12.739-26.003 12.77-41.634l0.017-9.87-1.77-6.793c-0.974-3.74-3.442-9.956-5.486-13.818l-3.723-7.02-7.986-8.433-7.99-8.427-8.773-5.723c-13.35-8.707-13.975-9.2-13.975-11.07 0-0.962 2.08-5.19 4.622-9.406 6.4-10.616 11.568-24.5 13.442-36.134l1.582-9.83 0.734-26.584 0.73-26.584-1.368-12.713c-0.751-6.994-2.433-18.698-3.73-26.012-2.098-11.813-3.889-19.2-12.504-51.603-1.206-4.544-3.032-15.728-4.054-24.854l-1.866-16.593-4.478-16.758c-6.011-22.486-10.074-32.653-20-50.08l-8.362-14.679-7.514-8.943c-21.9-26.081-42.526-42.333-73.976-58.292l-9.821-4.98-10.704-10.184-10.708-10.18-6.378-2.826-6.383-2.818H638.88l-8.607 2.888c-10.454 3.508-11.096 3.53-13.87 0.437-1.21-1.354-7.406-6.614-13.762-11.695l-11.56-9.24-13.29-6.662-13.294-6.663-13.87-3.718-13.871-3.722-31.21-0.611L474.333 0z m-5.304 449.939h1.162c1.791 0 4.714 11.219 4.806 18.419 0.043 3.538 0.458 7.405 0.926 8.593l0.847 2.154-2.503 5.19c-1.372 2.853-3.224 5.649-4.106 6.203-4.767 3.024-5.138 1.735-2.106-7.274l2.394-7.099 0.179-8.76c0.1-4.814-0.218-10.703-0.708-13.088l-0.891-4.334z m-72.766 6.099c1.817-0.46 3.862 0.332 4.744 2.73l0.91 2.464-1.713 2.447c-2.845 4.063-7.362 2.315-7.362-2.849 0-2.617 1.6-4.33 3.42-4.792z m334.682 15.491l1.485 1.805c3.18 3.844 4.347 13.473 2.43 19.97-0.848 2.865-2.762 6.64-4.256 8.378l-2.708 3.163 0.834-4.045c0.463-2.224 1.15-9.72 1.53-16.658l0.685-12.613z m-66.414 2.687h2.783c5.264 0 8.152 5.487 4.967 9.441-3.123 3.88-9.275 3.115-10.686-1.332l-0.773-2.447 1.857-2.831 1.852-2.83z m-102.439 26.698c2.678-1.263 4.474 8.676 3.09 19.825-0.25 1.988-3.701 0.668-4.536-1.734-1.092-3.163-0.921-14.942 0.25-16.838 0.41-0.664 0.812-1.074 1.196-1.253z m-10.965 491.145c0.511 0-1.416 2.341-4.277 5.198-6.737 6.746-7.55 6.833-4.264 0.472 1.555-3.001 5.574-5.67 8.54-5.67z' fill='#EEC5B9'/><path d='M478.96 1022.509c-89.8-7.156-169.814-34.666-240.75-82.766-11.895-8.07-14.294-10.49-13.263-13.39 1.337-3.745 24.758-16.864 75.104-42.072 51.918-25.994 62.7-31.905 72.914-39.996 5.841-4.626 11.73-7.116 16.829-7.116h3.958l5.832-5.243c19.808-17.811 31.717-49.555 34.382-91.63l0.8-12.613-1.45-0.891c-0.796-0.494-11.687-1.315-24.2-1.826-12.511-0.512-28.182-1.486-34.827-2.172-6.64-0.681-20.402-1.363-30.573-1.516l-18.493-0.28-0.576 8.092-0.581 8.095-7.515-0.34c-4.128-0.184-15.312-1.901-24.849-3.82a1374.076 1374.076 0 0 0-30.053-5.67c-6.99-1.205-25.789-5.059-41.77-8.562l-29.052-6.379-6.3-2.778-6.29-2.783-1.918-6.824c-2.648-9.45-2.958-12.94-4.304-48.384-1.62-42.727-2.883-65.912-5.718-105.187l-2.42-33.522-0.023-26.583c-0.03-37.825 3.928-87.533 8.244-103.566 0.616-2.298 1.67-10.879 2.333-19.053 0.664-8.182 1.936-18.008 2.822-21.839 0.892-3.831 3.255-14.247 5.252-23.15 9.087-40.485 21.162-76.135 39.354-116.165C267.783 101.513 354.162 25.033 445.439 4.613l10.402-2.328 38.257-0.524 38.257-0.516 15.225 3.679 15.23 3.682 12.403 6.117c13.355 6.588 21.861 12.42 35.67 24.465l8.786 7.663 9.979-3.338 9.982-3.338 11.56 0.092 11.555 0.096 6.938 3.565 6.933 3.565 8.13 8.475 8.13 8.48 15.567 8.187c68.59 36.064 106.772 90.975 112.054 161.15l1.088 14.452 4.6 14.448a430.205 430.205 0 0 1 14.16 57.799l2.664 15.6v31.788l0.009 31.787-1.547 10.878c-1.935 13.661-8.947 32.622-15.78 42.678-1.572 2.307-2.852 5.33-2.852 6.71v2.517l9.82 6.601c9.022 6.064 23.697 19.996 23.697 22.49 0 0.582-3.39-0.532-7.536-2.472l-7.536-3.525-2.7 0.677-2.705 0.677-1.987 5.513c-1.093 3.028-2.438 6.549-2.989 7.82-0.546 1.272-1.31 3.937-1.703 5.924-0.385 1.984-1.975 4.806-3.535 6.27-1.555 1.463-2.826 3.696-2.826 4.967 0 1.267-0.682 3.128-1.512 4.133-2.315 2.804-9.537 20.463-12.329 30.144-1.371 4.766-3.272 10.1-4.22 11.848-0.948 1.748-1.424 3.67-1.061 4.26 0.367 0.594-0.193 3.228-1.241 5.854l-1.914 4.77 1.206 2.53c0.664 1.39 1.53 3.508 1.922 4.714l0.708 2.184 7.195-0.699c20.184-1.966 37.886-10.48 47.052-22.639l3.914-5.198 0.455 1.363c0.249 0.747-1.005 4.036-2.783 7.304l-3.233 5.942-6.575 5.933c-15.963 14.408-34.199 21.66-63.137 25.107-6.523 0.777-12.307 1.983-12.858 2.678-1.795 2.272-8.073 29.8-10.489 46.016l-2.364 15.859 0.035 27.488c0.018 15.12 0.525 31.258 1.123 35.867 1.787 13.762 4.893 12.539-36.33 14.238l-31.123 1.28-15.689-1.254a22870.472 22870.472 0 0 0-46.322-3.612c-16.85-1.298-33.88-2.766-37.846-3.255-3.967-0.494-7.812-0.524-8.55-0.07l-1.337 0.83 0.634 17.737 0.633 17.746 2.534 12.136 2.534 12.141 4.312 9.262 4.316 9.266 6.366 6.837 6.36 6.837 3.723 0.263c5.823 0.401 9.205 1.485 19.174 6.142l9.284 4.338 10.978 2.014c6.042 1.11 15.925 2.993 21.962 4.194 11.8 2.333 25.557 4.347 55.055 8.052 32.482 4.085 41.67 7.418 55.519 20.144l8.278 7.602 9.35 13.936c5.146 7.659 9.349 14.636 9.349 15.496 0 5.374-43.6 35.077-78.63 53.57-51.079 26.968-132.167 51.018-172.198 51.075-4.767 0.009-12.744 0.795-17.729 1.748l-9.06 1.734-27.35-0.197c-15.045-0.104-29.432-0.358-31.978-0.559z m84.405-9.673l2.114-2.337-1.354-1.359-1.363-1.363-1.027 1.101c-0.568 0.603-1.38 2.272-1.813 3.696l-0.786 2.604h1.057c0.581 0 2.01-1.053 3.172-2.342z m-11.337-17.885c5.788-2.753 6.247-4.046 1.428-4.046-7.34 0-13.814 6.108-13.814 13.041 0 4.858 1.499 4.47 4.544-1.18l2.97-5.504z m11.035-31.792c23.137-2.25 40.38-8.261 54.592-19.039l6.925-5.251 4.92-7.213 4.918-7.217 2.888-9.284c3.067-9.864 4.876-24.858 3.613-29.9l-0.765-3.04-11.821-5.82a1345.08 1345.08 0 0 1-19.913-10.004 332.874 332.874 0 0 0-12.137-6.016 41.503 41.503 0 0 1-7.313-4.425c-1.796-1.429-4.225-2.6-5.395-2.6-1.171 0-3.605-0.73-5.405-1.625a102.666 102.666 0 0 0-6.16-2.787l-4.626-1.861c-0.952-0.393-3.814-1.962-6.357-3.495a129.097 129.097 0 0 0-8.09-4.478c-1.91-0.93-5.26-3.045-7.45-4.7-2.188-1.661-4.63-3.015-5.43-3.015-0.8 0-2.852-1.302-4.57-2.888-1.712-1.59-4.176-2.892-5.473-2.892-1.298 0-3.465-1.036-4.815-2.307l-2.455-2.307-3.399-0.157c-1.87-0.087-4.377-0.402-5.574-0.708l-2.176-0.554 1.599-1.101 1.599-1.106-4.627 0.555-17.042 2.04-12.42 1.486-0.638 2-0.634 1.997-3.416 0.752c-1.879 0.415-3.417 1.227-3.417 1.813 0 0.585-0.389 0.974-0.865 0.865-1.59-0.372-7.75 2.97-12.547 6.81-2.608 2.084-5.01 3.793-5.343 3.793-0.332 0-2.604 1.834-5.054 4.076-2.447 2.245-6.396 4.661-8.773 5.373-2.377 0.712-5.47 2.521-6.876 4.015-1.407 1.494-3.128 2.717-3.823 2.717-0.699 0-4.037 1.822-7.414 4.046-3.381 2.228-6.75 4.05-7.488 4.054-1.533 0.009-11.079 8.912-16.658 15.544l-3.757 4.46v2.766c0 11.184 30.638 45.348 50.87 56.72 3.504 1.966 12.844 6.002 20.76 8.965l14.39 5.382 13.339 2.687c7.34 1.476 14.64 2.918 16.23 3.202 5.54 0.987 42.272 0.764 53.473-0.328z m1.416-241.636l8.078-1.17 17.807-8.686c9.799-4.78 19.79-10.384 22.215-12.455 2.42-2.075 5.81-4.522 7.532-5.44 1.72-0.917 6.16-4.53 9.873-8.025 8.724-8.213 12.198-10.782 17.16-12.67 2.224-0.847 5.964-3.022 8.31-4.84 2.346-1.813 4.85-3.298 5.557-3.298 0.712 0 3.473-2.447 6.138-5.43 2.665-2.989 6.038-6.58 7.488-7.978 1.455-1.398 2.844-3.578 3.089-4.84 0.65-3.369 3.276-7.183 4.95-7.183 0.8 0 1.454-0.786 1.454-1.747 0-2.054 5.252-7.733 8.948-9.673 1.42-0.747 2.927-2.708 3.337-4.36 0.415-1.651 2.11-5.312 3.77-8.143 1.66-2.827 3.649-6.265 4.413-7.641 0.769-1.372 2.119-3.023 2.997-3.67 1.914-1.411 3.224-7.335 1.813-8.209-0.55-0.336-1.005-1.612-1.005-2.826v-2.207l-3.495-2.59-3.5-2.587 0.569-1.494 0.577-1.49h-2.316c-1.267 0-2.604-0.764-2.962-1.703-0.358-0.93-2.377-2.32-4.491-3.085l-3.84-1.389-1.223-2.691c-0.678-1.481-2.05-2.691-3.045-2.691h-1.818l-1.66-3.757c-2.184-4.968-3.962-6.982-7.567-8.572-1.642-0.725-3.05-2.018-3.119-2.874-0.074-0.857-0.891-4.522-1.809-8.144l-1.673-6.588 1.573-2.084c2.547-3.35 1.948-4.775-3.08-7.34-7.165-3.656-14.561-11.07-19.048-19.1l-4.032-7.208-1.678-7.908c-0.917-4.355-1.682-11.459-1.695-15.788l-0.022-7.868-1.066 0.655c-1.573 0.97-4.893 11.62-5.723 18.34l-0.725 5.828-3.438 0.917-3.443 0.918-1.127-1.127c-0.62-0.62-1.337-4.64-1.59-8.93-0.258-4.286-0.93-8.292-1.503-8.895-0.568-0.603-1.031-1.992-1.031-3.084s-0.9-3.552-1.997-5.466l-1.996-3.477 1.415-3.923c0.782-2.158 1.42-4.832 1.42-5.946 0-1.114 0.782-2.805 1.735-3.757l1.734-1.735v-7.846l2.403-1.284c1.32-0.708 3.14-1.005 4.045-0.656l1.643 0.634v-4.526l4.334-3.98 4.334-3.984 3.713-0.7 3.705-0.698 2.372-3.334 2.372-3.333 8.37-2.43c4.601-1.336 9.83-2.904 11.63-3.49 1.792-0.585 4.006-0.778 4.92-0.428 0.913 0.35 2.826-0.11 4.25-1.018l2.591-1.66 7.252 0.218c3.989 0.127 7.501-0.174 7.803-0.668 0.306-0.494 1.594-0.625 2.866-0.293l2.31 0.607v-3.74h2.168c1.197 0 2.818-0.777 3.608-1.734l1.442-1.73h8.882l4.054-3.56c4.002-3.513 6.946-3.744 5.68-0.45l-0.656 1.695h1.214c0.669 0 1.543-0.533 1.945-1.184 0.402-0.655 2.123-1.044 3.827-0.87l3.088 0.324 0.372-2.604 0.367-2.6h2.232c2.927 0 2.87-1.952-0.079-2.891-1.27-0.402-2.315-1.197-2.315-1.765 0-1.717-8.357-3.417-18.323-3.723-5.172-0.161-9.41-0.73-9.41-1.266l-0.004-0.983-7.226 0.917c-3.976 0.511-9.699 0.83-12.73 0.712-3.028-0.114-7.838 0.581-10.691 1.551l-5.19 1.76-9.734 0.245-9.733 0.24-3.268-2.415c-1.8-1.333-4.439-4.138-5.872-6.239l-2.6-3.823v-9l2.242-4.394c4.596-9.009 13.067-14.312 27.235-17.06l8.09-1.569h29.39l16.513 3.539c9.087 1.944 20.097 3.976 24.478 4.504l7.965 0.97 3.307-1.153 3.307-1.15v-13.132l-2.315-1.979-2.312-1.979v-7.855l-3.634-7.934c-2.001-4.36-5.06-9.493-6.79-11.402-1.734-1.905-5.985-7.208-9.449-11.778-10.079-13.299-31.621-35.61-46.012-47.663-18.082-15.138-19.458-16.165-44.5-32.967-12.08-8.109-23.897-16.597-26.256-18.86l-4.286-4.12-6.116-0.493-6.112-0.494-15.029 3.102c-32.433 6.693-63.347 20.524-86.431 38.672-3.67 2.888-8.904 6.81-11.621 8.72-9.384 6.575-25.243 23.508-29.542 31.542-0.716 1.337-3.32 4.762-5.775 7.602-2.46 2.84-6.182 8.676-8.27 12.962l-3.797 7.79-1.153 10.061c-1.63 14.19-1.062 14.95 13.084 17.458 26.938 4.779 45.086 17.379 45.077 31.293l-0.004 4.972-2.39 3.918-2.39 3.915-7.745-0.647c-4.26-0.358-11.08-1.804-15.156-3.215-4.076-1.407-12.569-3.727-18.873-5.147l-11.472-2.586-4.216 0.494c-5.732 0.668-8.921 2.416-10.424 5.71l-1.258 2.77 0.712 5.181c0.389 2.853 1.42 5.775 2.29 6.496 0.864 0.721 1.572 2.128 1.572 3.128 0 2.062 5.575 8.292 7.444 8.323 2.526 0.044 14.885 9.087 22.674 16.601 6.667 6.422 13.255 11.097 15.658 11.11l2.425 0.009 2.14 4.753c1.18 2.612 3.539 6.247 5.247 8.073 5.107 5.461 7.925 18.035 7.969 35.51l0.022 9.61-1.263 2.36-1.263 2.36-4.73-4.929-4.737-4.923-1.441-5.557c-1.879-7.253-9.516-20.184-14.942-25.296l-4.285-4.045 0.72 3.469c0.394 1.909 1.294 6.33 1.993 9.83l1.28 6.352-0.734 6.937-0.734 6.933-3.495 8.804-3.495 8.803-5.627 6.317c-3.102 3.477-10.136 9.349-15.645 13.05l-10.013 6.727 0.503 4.16c0.28 2.284 0.013 5.587-0.586 7.339l-1.088 3.176h-2.359c-1.302 0-5.802 2.176-10.004 4.836l-7.637 4.836-3.18-0.231-3.18-0.232v1.791c0 0.983-0.918 2.163-2.041 2.622-2.464 1-12.984 12.158-12.984 13.77 0 1.844-3.364 8.073-5.173 9.572l-1.66 1.376 1.38 2.215 1.386 2.21-1.433 2.299c-2.163 3.464-1.77 5.33 2.031 9.663 1.91 2.172 3.469 4.448 3.469 5.05 0 0.612 1.77 3.4 3.932 6.204 2.158 2.81 6.85 10.922 10.424 18.039l6.496 12.931 2.29 0.73 2.289 0.725v6.234l8.09 8.638c4.448 4.748 8.092 9.121 8.092 9.711 0 0.594 0.305 0.774 0.677 0.402 0.865-0.865 5.102 2.726 5.102 4.325 0 2.172 10.433 13.194 17.72 18.72 3.923 2.971 8.65 7.196 10.507 9.38l3.377 3.971 7.178 3.22c3.95 1.774 7.514 3.757 7.92 4.417 1.761 2.848 14.828 8.995 25.514 12.001 6.374 1.791 14.185 3.989 17.366 4.875 10.598 2.958 26.099 3.648 39.284 1.744zM539.2 667.809l-9.109-1.595-6.313-3.189c-3.473-1.76-8.3-5.185-10.734-7.619l-4.42-4.421-1.718-5.042-1.717-5.037 1.276-1.275c0.699-0.7 3.77-1.276 6.824-1.276h5.548v-1.11c0-0.611-3.77-2.228-8.379-3.595-15.042-4.465-26.3-10.455-26.3-13.993v-1.197l4.915 0.733c2.7 0.407 10.891 1.031 18.205 1.39l13.294 0.655 13.25-2.425c7.287-1.332 16.798-2.42 21.132-2.42h7.881l4.15-1.734c2.28-0.957 6.348-1.735 9.04-1.735h4.888l3.932 2.892c2.158 1.59 7.824 4.832 12.59 7.2l8.673 4.308 10.306 0.026 10.301 0.022 0.463 1.385 0.463 1.38-4.87 3.53c-2.683 1.94-5.444 3.548-6.143 3.565-0.7 0.022-2.753 1.337-4.557 2.927l-3.285 2.888-0.516 3.722-0.515 3.722-5.636 5.321c-3.097 2.928-8.672 7.07-12.381 9.201l-6.75 3.88-17.34 0.253-17.335 0.253z m19.507-84.929l-9.262-0.812-5.19-2.303c-2.853-1.267-5.898-3.158-6.763-4.207l-1.573-1.905 0.69-1.8c1.481-3.866 20.582-8.628 34.614-8.632h6.728l1.686-1.686c2.766-2.766 11.031 4.849 12.766 11.76l0.716 2.857-2.861 2.862c-4.793 4.792-11.556 5.623-31.551 3.866zM448.842 705.625c-8.869-7.466-29.992-22.43-47.209-33.438-3.748-2.399-8.951-6.03-11.56-8.074-9.773-7.645-26.43-18.825-28.047-18.825h-1.682l2.088 3.582c3.246 5.562 23.172 24.138 32.757 30.538 10.035 6.697 49.184 26.85 52.5 27.025l2.254 0.118z m319.986-169.399l4.465-7.916 0.074-3.64c0.043-2.004 0.786-5.045 1.656-6.762 0.865-1.717 1.581-4.316 1.585-5.78 0-1.463 0.804-4.194 1.783-6.072 0.978-1.875 1.643-4.474 1.477-5.776-0.17-1.302 0.096-3.014 0.59-3.81 0.493-0.79 1.04-8.256 1.218-16.588l0.323-15.15-4.456 0.716c-2.455 0.393-7.182 1.616-10.507 2.717l-6.042 2.006-2.612 9.244c-3.412 12.088-11.708 28.851-17.576 35.514-5.212 5.92-5.6 7.252-2.577 8.868 1.144 0.612 4.92 4.107 8.38 7.768l9.466 9.982 3.172 3.343 2.556-0.372 2.56-0.371z m-38.533-24.565c1.97-1.66 4.954-5.352 6.628-8.214l3.049-5.198 0.533-8.318 0.537-8.314-3.145-6.304c-2.709-5.426-6.754-10.232-8.69-10.32-0.319-0.012-0.393 6.484-0.17 14.435l0.41 14.46-3.014 9.075c-4.299 12.97-3.46 14.858 3.862 8.693z m-58.803-25.929l2.232-1.197v-7.252l-1.913-2.11c-2.377-2.63-5.916-2.709-8.69-0.201l-2.11 1.913v7.62l2.023 1.18c2.62 1.528 5.662 1.546 8.453 0.047zM401.275 463.7l1.153-1.843-0.742-2.94c-1.385-5.536-8.083-4.906-9.542 0.9l-0.716 2.87 1.472 1.778 1.477 1.774 2.87-0.35c1.581-0.188 3.39-1.175 4.028-2.184z m349.348-60.433c1.254-0.878 3.32-1.856 4.592-2.18l2.315-0.58-4.216-0.132-4.211-0.14-0.664-1.73c-0.367-0.956-1.46-1.734-2.434-1.734a1.756 1.756 0 0 0-1.77 1.734c0 0.953 0.52 1.73 1.154 1.73 0.638 0 1.158 1.045 1.158 2.316 0 2.722 0.965 2.892 4.076 0.716z m117.183 132.789a1023.531 1023.531 0 0 0-0.506-16.143l-0.332-8.051 1.253 2.24c0.69 1.233 1.486 7.515 1.774 13.963l0.524 11.726-1.267 2.176-1.267 2.184z' fill='#DDAFA2'/><path d='M493.408 1022.579c-95.881-5.151-179.801-32.5-253.9-82.745-12.98-8.798-14.6-10.301-13.683-12.686 1.486-3.871 22.015-15.326 74.549-41.604 30.83-15.422 58.402-29.734 61.259-31.805 2.861-2.07 7.724-5.653 10.808-7.96 3.08-2.31 7.44-4.967 9.686-5.906l4.08-1.704 3.32 1.372 3.32 1.376 8.31-7.842c21.879-20.642 31.28-44.775 34.513-88.63l1.28-17.37-1.083-1.078-1.08-1.084-25.308-1.027c-13.918-0.563-30.507-1.542-36.863-2.17-6.357-0.63-19.878-1.311-30.057-1.508l-18.493-0.363-0.131 6.934c-0.075 3.814-0.206 7.645-0.289 8.519l-0.157 1.572-7.803-0.795c-4.29-0.437-14.04-2.097-21.669-3.687a1536.765 1536.765 0 0 0-32.368-6.247c-10.17-1.844-29.083-5.693-42.023-8.55l-23.526-5.199-6.037-2.765-6.03-2.761-3.097-10.896-3.088-10.896v-20.847c0-11.468-0.765-32.513-1.695-46.768a7793.61 7793.61 0 0 1-2.928-47.305 2218.375 2218.375 0 0 0-2.45-36.86c-2.425-30.895-1.167-89.681 2.42-112.827 5.216-33.705 14.137-70.145 26.737-109.232 11.083-34.382 35.88-92.43 58.021-135.82 4.317-8.458 17.659-30.341 20.442-33.522 9-10.288 6.326-10.79-5.177-0.979l-9.013 7.69-1.857-1.206-1.856-1.206 0.183-2.761c0.371-5.61 17.274-28.515 36.75-49.795 14.692-16.06 29.524-29.022 49.45-43.216l14.181-10.105 21.018-10.808 21.018-10.813 18.86-6.208 18.86-6.208 12.713-2.123 12.718-2.124 33.521 0.105 33.522 0.105 14.447 3.714 14.452 3.713 13.871 7.003c15.3 7.733 16.34 8.432 32.534 21.975l11.272 9.415 9.305-3.364 9.305-3.364h24.273l6.938 4.25c7.077 4.343 12.503 9.459 15.977 15.069l1.94 3.136 16.47 8.043c9.06 4.426 22.175 11.857 29.148 16.514l12.678 8.467 11.595 10.913c26.151 24.605 43.054 51.132 52.206 81.94l2.976 10.022 0.904 17.344 0.9 17.336 2.914 8.667a3238.17 3238.17 0 0 0 8.121 23.696c5.339 15.392 12.124 43.889 14.863 62.421l1.538 10.398-0.044 30.634-0.035 30.633-1.464 9.245c-0.803 5.09-1.922 10.55-2.49 12.14-3.97 11.202-10.223 25.667-12.949 29.988-1.79 2.826-3.25 6.51-3.25 8.182v3.037l2.927 2.748 2.923 2.748-3.351 2.62-3.351 2.622-0.747 3.792c-0.415 2.084-2.119 7.283-3.788 11.547l-3.032 7.754-3.748 4.094c-2.062 2.25-4.587 4.094-5.614 4.094h-1.865v-4.138c0-2.271 1.157-11.245 2.573-19.939l2.573-15.806-0.022-21.38-0.022-21.386-3.67-14.618c-17.282-68.86-70.773-136.27-149.158-187.966-11-7.252-23.12-15.788-26.933-18.96l-6.933-5.767-6.03-0.625-6.028-0.624-14.745 1.904c-46.566 6.003-102.71 34.732-128.966 65.986-2.14 2.543-6.82 7.82-10.406 11.73-9.06 9.883-10.463 11.905-20.402 29.402l-8.781 15.452-0.223 5.745-0.232 5.741 4.627 0.821c2.542 0.446 11.385 1.717 19.646 2.818l15.029 2.001 10.817 3.408 10.817 3.407 6.186 3.958 6.19 3.959 2.936 5.006 2.932 5.007v8.152l-2.394 3.045-2.399 3.05h-2.555c-1.403 0-7.917-1.827-14.474-4.055-16.435-5.592-33.705-9.847-44.313-10.922l-8.912-0.909-8.951 0.874-8.943 0.874-2.757 3.311c-1.516 1.822-3.74 5.392-4.937 7.934l-2.188 4.627-0.027 7.046-0.026 7.052 3.478 4.797c1.909 2.638 3.696 4.796 3.967 4.796 12.673 0 40.28 9.328 53.464 18.06l9.468 6.274 7.531 8.249 7.532 8.257 4.731 9.344 4.732 9.35 1.232 8.344 1.232 8.349-0.782 4.163-0.782 4.163-1.726-1.432c-2.503-2.08-3.866-4.99-5.793-12.403-2.83-10.874-19.196-31.412-25.033-31.412h-1.704l2.919 7.798 2.91 7.803 0.122 9.83 0.122 9.82-3.207 8.712-3.202 8.711-4.998 6.09c-5.44 6.628-13.49 12.521-21.31 15.597l-4.981 1.957-12.652-0.769-12.652-0.764-4.718 2.127-4.719 2.128-1.922-1.206-1.926-1.206-0.359-4.194-0.358-4.202-2.477-1.735-2.473-1.734-2.739 2.573c-1.507 1.415-4.194 5.697-5.972 9.52-1.778 3.818-4.39 7.977-5.802 9.244-8.23 7.352-16.155 42.953-11.498 51.652 0.694 1.297 2.21 5.557 3.364 9.458 3.158 10.66 8.187 25.37 9.349 27.327 3.962 6.697 6.828 12.997 6.828 15.028 0 1.31 1.293 4.946 2.875 8.07l2.883 5.679-0.695 1.79c-1.424 3.714-12.424-1.078-28.082-12.236-3.438-2.45-6.95-4.456-7.803-4.456h-1.546v6.536l3.43 5.111c12.512 18.655 41.297 41.617 69.222 55.221 7.851 3.827 15.282 7.873 16.514 8.987 3.4 3.075 26.466 12.416 54.169 21.935l24.85 8.541 12.136 1.717c19.178 2.713 45.042 1.075 54.906-3.482 1.91-0.882 8.563-3.43 14.788-5.662 13.994-5.02 40.368-17.724 55.742-26.855 6.352-3.77 12.328-7.173 13.28-7.562 4.238-1.739 37.021-24.622 46.842-32.7 11.551-9.506 28.122-27.405 40.228-43.452 4.054-5.373 8.641-10.354 10.188-11.061 1.55-0.704 4.093-3.155 5.657-5.444 3.4-4.972 4.806-5.649 8.707-4.168 1.626 0.62 4.614 1.145 6.641 1.167 3.989 0.043 9.83 2.708 8.17 3.722-0.564 0.345-4.666 0.979-9.114 1.415-4.451 0.433-9 1.04-10.113 1.35l-2.023 0.564v3.84c0 2.115-1.354 8.97-3.006 15.238-7.357 27.904-10.904 80.586-7.34 109l1.215 9.695-1.503 1.499-1.507 1.498-30.63 1.298-30.633 1.302-13.29-0.77c-11.096-0.637-59.275-4.372-92.159-7.142l-8.353-0.704-0.786 2.045c-1.267 3.32 1.555 38.384 4.058 50.302l2.303 10.979 3.993 8.672c4.98 10.79 9.838 17.5 15.832 21.843l4.64 3.36 4.412-0.594 4.417-0.59 12.713 5.907c6.99 3.246 13.901 5.906 15.356 5.906 1.46 0 9.218 1.328 17.244 2.958 16.868 3.416 44.775 7.667 67.191 10.227 29.25 3.347 37.113 6.247 51.495 19l9.983 8.847 4.578 7.514a276.9 276.9 0 0 0 8.563 13.132c6.247 8.808 5.998 9.166-17.764 25.807-59.908 41.953-128.079 70.092-198.215 81.813-27.195 4.544-33.622 4.36-28.908-0.83 1.298-1.428 2.683-3.975 3.08-5.657l0.721-3.058-2.228-2.722-2.237-2.717-2.053 1.253c-1.132 0.69-3.255 3.522-4.718 6.291-1.464 2.766-3.43 5.885-4.374 6.925-0.943 1.04-1.712 2.46-1.712 3.15 0 2.944-35.51 5.491-58.952 4.229z m50.86-12.141c0-1.258 1.071-4.386 2.377-6.95l2.381-4.667 4.845-2.201c2.665-1.21 5.754-2.211 6.868-2.224 2.355-0.03 2.6-1.298 0.634-3.264l-1.385-1.384-5.26 0.004h-5.26l-3.7 2.259c-2.036 1.24-4.562 3.927-5.619 5.963l-1.913 3.709 0.598 4.482c0.935 6.96 5.435 10.503 5.435 4.273z m20.228-46.125c50.433-5.531 74.138-27.152 78.682-71.749l0.773-7.597-1.433-8.51-1.437-8.515-3.037-2.778c-3.9-3.574-16.12-12.486-23.678-17.27a122.352 122.352 0 0 1-11.058-8.091c-2.852-2.403-6.583-5.238-8.292-6.3-1.712-1.061-5.963-5.483-9.445-9.825-3.482-4.343-8.493-9.454-11.131-11.359a105.995 105.995 0 0 1-8.231-6.65c-1.883-1.747-4.08-3.188-4.88-3.197-1.333-0.022-9.913-5.23-13.255-8.052-0.769-0.646-2.084-1.18-2.923-1.18-0.838 0-2.721-0.83-4.18-1.856-3.823-2.678-15.536-8.51-17.126-8.528-0.743-0.009-2.827-0.76-4.627-1.669-4.997-2.53-22.695-8.951-24.653-8.947-0.956 0-5.216-0.795-9.467-1.77l-7.732-1.777-4.404 2.708c-6.54 4.02-17.466 15.22-19.428 19.917-0.944 2.259-2.416 4.53-3.277 5.042-0.856 0.511-2.031 1.791-2.612 2.848-0.577 1.058-2.656 3.683-4.622 5.833-1.962 2.153-5.033 6.413-6.829 9.475-3.582 6.108-24.915 27.808-33.64 34.208-9.016 6.623-15.26 13.04-17.199 17.685l-1.826 4.368 1.293 4.867c3.845 14.487 26.846 43.854 46.746 59.678 9.812 7.806 19.769 12.983 36.41 18.93l14.447 5.163 12.713 2.386c6.999 1.31 13.761 2.616 15.028 2.896 4.596 1.01 44.169 0.73 54.33-0.384z m-163.36-498.948c2.773-2.508 2.686-6.759-0.202-9.646-2.992-2.993-4.124-2.914-7.567 0.524-6.312 6.317 1.163 15.098 7.768 9.122zM542.01 664.747l-7.453-1.066-6.99-3.338c-3.849-1.835-8.528-4.937-10.398-6.894l-3.403-3.552 1.341-1.341c0.743-0.743 3.312-2.036 5.715-2.883l4.373-1.547 13.438 1.258 13.443 1.263 8.519-1.145c4.688-0.629 10.332-1.061 12.538-0.965l4.02 0.174 0.401-2.022 0.402-2.023h-4.194c-2.31 0-7.68-0.511-11.935-1.136-4.255-0.629-14.496-1.979-22.761-2.997-27.567-3.408-53.478-11.28-50.896-15.461l0.611-0.992 6.65 1.853 6.644 1.856 16.763 0.005 16.759 0.009 6.356-1.678 6.361-1.678 12.858 0.175 12.857 0.184 3.648 1.887c2.01 1.035 7.93 2.992 13.15 4.342l9.502 2.451 11.328-0.07 11.324-0.07-0.415 1.246c-0.664 1.987-7.903 5.308-17.16 7.872-11.263 3.12-16.877 8.362-10.005 9.345l2.59 0.371 0.368 1.91 0.362 1.909-3.451 3.927c-1.892 2.158-6.221 5.33-9.611 7.047l-6.17 3.124-15.01-0.145c-8.257-0.078-18.367-0.62-22.469-1.21z m164.851-129.268l-5.46-3.464-5.213 1.17-5.212 1.167-7.759-1.193c-4.264-0.655-11.14-2.201-15.268-3.43l-7.515-2.236-4.81-4.967c-2.647-2.73-6.466-7.803-8.493-11.272l-3.682-6.312-1.73-8.14-1.735-8.138 0.734-10.114 0.73-10.114h-1.18c-2.154 0-7.195 9.013-9.786 17.501-1.402 4.596-3.233 8.585-4.063 8.865l-1.507 0.502 0.45-8.519 0.445-8.523 3.54-7.515c8.868-18.833 30.72-36.903 53.049-43.875l8.091-2.525 12.77-0.656 12.765-0.655 8.017 1.398c4.413 0.765 8.55 1.822 9.196 2.35 0.647 0.525 3.124 1.761 5.5 2.744l4.326 1.791 3.355-2.826c1.848-1.556 3.971-2.827 4.718-2.827h1.363l-0.773 6.169-0.769 6.173 8.633 5.378c10.878 6.78 17.864 9.965 21.93 9.995l3.177 0.027v2.228c0 3.333-4.509 6.256-14.482 9.401l-8.948 2.823-1.441 2.31c-0.795 1.268-2.342 6.082-3.439 10.695-1.096 4.61-2.892 9.555-3.988 10.979-1.101 1.429-3.465 5.33-5.26 8.668-1.796 3.337-3.757 6.072-4.36 6.072h-1.097l0.721-1.887c0.398-1.035 1.306-4.194 2.018-7.025l1.294-5.142-0.647-7.715c-0.354-4.238-1.813-10.835-3.237-14.649l-2.595-6.933-3.382-3.163c-3.36-3.137-11.813-6.496-13.106-5.203-0.371 0.367 0.725 4.727 2.438 9.681l3.11 9.013-0.515 12.176-0.511 12.175-2.604 6.501c-1.429 3.582-5.404 10.232-8.825 14.784l-6.23 8.279 1.997 0.707c1.1 0.394 2.91 1.495 4.023 2.447l2.023 1.739v6.575h-2.665c-1.464 0-5.12-1.556-8.126-3.465z m-34.544-49.192l2.57-1.8v-7.868l-2.535-2.36c-3.206-2.992-7.217-3.01-10.179-0.043l-2.315 2.311v7.96l2.568 1.8c1.412 0.987 3.64 1.8 4.946 1.8 1.306 0 3.53-0.813 4.945-1.8z m57.886 46.357c-2.293-1.555-4.478-3.635-4.849-4.614l-0.686-1.782 2.49-2.32c1.368-1.275 2.783-2.315 3.137-2.302 2.15 0.061 9.943 5.579 10.267 7.265l0.393 2.023-2.696 2.245c-3.394 2.831-3.11 2.849-8.056-0.515zM774.87 397.19c-11.962-7.234-21.678-10.755-41.613-15.09l-8.09-1.756-19.075-0.17-19.07-0.166-14.582 3.18c-8.021 1.748-16.208 3.177-18.205 3.177h-3.626l-2.311-2.311-2.311-2.312v-10.06l2.612-3.88c3.718-5.514 11.525-11.119 18.533-13.307l6.02-1.88 14.49-0.61 14.496-0.604 12.093 2.023c6.65 1.114 17.388 3.508 23.862 5.321l11.774 3.299 9.035 5.334c9.428 5.57 21.394 14.753 27.816 21.35l3.757 3.858v3.014c0 6.99-5.719 7.571-15.605 1.59z' fill='#C68878'/><path d='M471.953 1020.888c-53.954-4.163-110.346-18.847-162.911-42.42-33.251-14.916-82.649-45.165-82.649-50.613v-1.73l8.755-5.714c4.815-3.146 33.924-18.235 64.689-33.535 30.764-15.303 57.383-29.008 59.153-30.459 1.773-1.45 5.076-3.757 7.344-5.129 2.271-1.367 5.128-3.6 6.356-4.958 4.286-4.74 15.531-8.926 15.531-5.784 0 0.59-1.284 2.595-2.857 4.464-4.015 4.771-5.234 8.607-5.234 16.466v6.816l2.316 6.194c7.623 20.372 35.67 53.81 56.36 67.192 12.54 8.117 37.76 17.562 55.76 20.891 5.4 0.997 12.778 2.386 16.391 3.08l6.57 1.267 22.906-0.751c71.547-2.342 99.293-22.285 103.876-74.67l0.76-8.669-1.367-7.514c-2.346-12.931-9.109-24.592-20.254-34.92l-4.626-4.28 3.6-0.053 3.6-0.044 10.73 5.33 10.729 5.33 7.632 0.979c4.198 0.541 12.805 2.075 19.127 3.407 13.123 2.766 25.513 4.657 52.66 8.039 26.344 3.28 37.66 5.5 45.016 8.825l6.291 2.84 6.466 6.033c3.552 3.315 7.82 7.151 9.48 8.519 1.66 1.371 5.186 6.055 7.83 10.406a279.12 279.12 0 0 0 8.767 13.504l3.967 5.592-1.21 2.263c-2.569 4.806-37.414 28.773-62.334 42.88-51.804 29.331-116.012 50.878-171.91 57.693-13.01 1.586-14.238 1.267-11.455-2.98l1.887-2.883v-5.299c0-6.308-2.088-10.756-6.981-14.876l-3.596-3.027h-4.264c-5.622 0-11.795 3.416-14.504 8.02l-2.176 3.714v9.258l2.25 3.014c1.237 1.66 2.87 3.22 3.626 3.473l1.372 0.455v-3.674c0-5.33 3.154-11.158 7.484-13.836 6.728-4.155 9.187-2.578 6.204 3.975l-1.342 2.94h-1.87c-1.026 0-3.031 0.813-4.451 1.81l-2.578 1.808 0.297 4.683 0.306 4.683-5.203 1.582-5.203 1.581-27.742-0.144c-15.26-0.083-32.975-0.55-39.371-1.048z m57.86-270.339l-8.1-0.655-4.43-4.041c-2.438-2.228-5.164-4.46-6.06-4.972-5.46-3.089 0.603-3.993 9.236-1.376 5.522 1.673 10.166 2.272 26.55 3.425 4.368 0.306 8.58 1.088 9.353 1.73 0.777 0.647 1.834 0.786 2.359 0.315l0.943-0.857-0.786 1.376-0.786 1.372 2.359-0.175 2.368-0.179-0.546-1.428-0.55-1.424 1.602 0.611 1.604 0.616-0.93 2.508-0.936 2.503-2.175 0.044c-1.197 0.022-2.823 0.441-3.618 0.935l-1.441 0.89v-1.039c0-0.568-1.433-0.865-3.18-0.655a114.418 114.418 0 0 1-22.836 0.48z m152.006-4.814a3872.122 3872.122 0 0 0-36.99-2.774c-33.01-2.347-58.056-5.06-59.476-6.449l-1.11-1.079 1.686-1.516c0.927-0.83 6.366-3.233 12.089-5.338 31.21-11.482 87.209-44.265 115.872-67.834 11.447-9.41 29.577-29.009 40.953-44.251l6.99-9.371 2.761-0.69c1.516-0.38 3.539-0.394 4.491-0.027l1.74 0.664-0.023 3.216c-0.008 1.769-1.057 7.116-2.324 11.883-1.267 4.77-3.39 15.172-4.71 23.12l-2.402 14.447-0.97 28.322-0.97 28.319 1.04 8.09c0.568 4.452 1.053 10.564 1.075 13.583l0.034 5.492-1.446 0.157c-5.163 0.559-64.557 3.373-66.173 3.132-0.638-0.092-6.099-0.585-12.141-1.096z m-372.2-10.883a344.394 344.394 0 0 1-20.228-3.989c-5.723-1.34-16.248-3.433-23.386-4.652-15.13-2.587-24.116-4.404-49.437-10.01l-18.493-4.093-4.622-2.49-4.627-2.49-3.42-9.825-3.421-9.826-0.219-23.115c-0.253-26.13-2.263-69.389-4.028-86.694-2.332-22.83-3.656-53.78-3.787-88.423l-0.131-35.256 2.07-18.498c3.474-31.04 5.322-42.14 9.62-57.794 2.272-8.266 5.606-20.76 7.419-27.768 1.808-7.007 5.692-20.27 8.628-29.476a2471.457 2471.457 0 0 0 6.566-20.778c0.669-2.228 2.95-8.209 5.068-13.294a961.866 961.866 0 0 0 8.056-20.227 327.133 327.133 0 0 1 8.663-20.228c2.447-5.09 6.265-14.19 8.484-20.227 16.672-45.378 34.5-76.165 60.516-104.514 9.835-10.716 9.839-10.542-0.187-7.916l-7.781 2.04-1.643-2.245c-3.63-4.963-0.061-10.38 19.895-30.193 22.679-22.517 45.93-39.096 76.21-54.343l19.209-9.672 18.082-5.933 18.082-5.929 14.465-2.28 14.47-2.276 33.521 0.502 33.522 0.507 12.713 3.582 12.713 3.583 15.028 7.514 15.029 7.523 9.825 8.226a1287.343 1287.343 0 0 1 13.692 11.595c4.696 4.098 4.338 4.09 12.573 0.306l6.676-3.067 11.83-0.529c15.073-0.677 15.802-0.463 26.16 7.768l8.65 6.876 0.376 2.657 0.376 2.656 21.962 10.979 21.962 10.983 8.095 6.029 12.132 9.03c26.746 19.921 54.898 61.52 61.818 91.338l1.76 7.601 0.464 15.824 0.467 15.82 2.316 6.937c1.28 3.814 5.002 13.958 8.274 22.543 6.636 17.383 13.936 44.836 17.056 64.15l2.053 12.714-0.026 34.679-0.026 34.675-1.412 6.81c-1.917 9.25-9.506 29.678-14.583 39.245l-4.163 7.842 0.105 4.264c0.218 8.882-8.205 32.303-13.355 37.143l-2.709 2.543-0.778-1.258c-0.428-0.69 0.612-11.525 2.307-24.072l3.08-22.814-0.56-19.07-0.567-19.074-3.622-12.486c-20.786-71.595-70.949-133.395-151.041-186.087-10.223-6.728-21.595-14.679-25.278-17.68l-6.693-5.453-5.351-1.026-5.357-1.027-17.335 1.289-17.344 1.289-13.342 3.285-13.342 3.285-16.13 6.925c-19.703 8.458-33.875 16.195-51.538 28.126l-13.443 9.078-11.9 12.416c-10.25 10.69-16.601 18.345-27.008 32.517a103.583 103.583 0 0 1-5.334 6.492c-4.897 5.443-11.634 17.886-13.443 24.828l-1.651 6.334 1.887 1.376c1.036 0.76 5.872 1.674 10.747 2.032 4.871 0.363 16.4 1.503 25.619 2.543l16.758 1.891 9.249 2.862c20.044 6.203 30.542 15.662 29.275 26.365l-0.376 3.207-2.97 2.206-2.971 2.206-7.986-3.01c-4.395-1.651-15.54-5.133-24.771-7.737l-16.785-4.736-20.227-0.541-20.228-0.542-4.862 1.31c-2.674 0.717-6.41 2.609-8.3 4.199l-3.439 2.896-1.8 5.457c-0.992 2.997-2.328 8.257-2.97 11.678l-1.171 6.225 1.371 4.587 1.376 4.579 2.381 1.494 2.386 1.494 9.825 0.752c24.199 1.856 38.437 5.233 52.285 12.394l9.555 4.936 11.577 11.6 11.577 11.603 4.457 9.126 4.456 9.131 1.18 8.397c0.646 4.618 0.825 9.314 0.392 10.441l-0.777 2.036-1.69-1.69c-0.931-0.927-2.47-4.675-3.422-8.332-3.215-12.342-11.568-23.377-24.015-31.726-5.526-3.709-6.535-2.682-3.503 3.556 1.319 2.713 3.04 8.039 3.827 11.822l1.433 6.89-0.708 8.37-0.704 8.37-3.394 7.484c-6.038 13.312-15.736 22.486-28.288 26.768l-5.395 1.835-11.486-1.333-11.48-1.337-4.636 1.39-4.631 1.389-1.774-1.468c-0.974-0.808-1.77-2.403-1.77-3.547v-2.08l-6.211-5.928-6.213-5.929-3.853-8.322-3.853-8.327 0.043-12.137c0.022-6.675 0.612-14.084 1.302-16.47 1.416-4.867 0.284-5.684-2.333-1.686-3.023 4.609-5.124 17.322-5.338 32.316l-0.131 8.96h-1.228c-0.677 0-3.95-2.73-7.274-6.073l-6.038-6.063-4.578-11.272c-4.819-11.861-5.61-12.879-6.737-8.667-1.271 4.74-0.76 9.79 2.097 20.703 1.551 5.937 3.412 15.929 4.138 22.202l1.315 11.411-1.407 16.746-1.403 16.75 0.647 12.874 0.647 12.88 2.437 8.09c6.038 20.04 8.707 32.076 8.257 37.253-0.065 0.778-1.437 2.28-3.05 3.338l-2.926 1.918-4.483-2.023-4.486-2.023-1.39 0.856-1.389 0.861 0.59 4.373 0.585 4.378 3.806 5.592c14.923 21.913 43.425 45.317 73.47 60.31l14.036 7.008 2.35 2.988 2.35 2.988-0.646 6.602c-0.358 3.63-1.223 7.322-1.922 8.204l-1.267 1.603-23.137-0.825c-12.722-0.45-27.108-1.272-31.966-1.826-4.854-0.55-19.288-1.368-32.076-1.818l-23.242-0.817-0.157 1.617c-0.087 0.89-0.218 4.727-0.293 8.527l-0.13 6.907-1.735 0.219c-0.952 0.118-6.156-0.48-11.56-1.341z m91.91-268.749l2.105-2.324v-7.235l-2.15-1.572c-1.179-0.861-3.32-1.569-4.748-1.569h-2.604l-1.8 2.57c-5.334 7.614 3.08 16.889 9.196 10.135z m171.635 170.972c-32.49-1.577-74.715-7.92-71.539-10.747 0.896-0.795 70.04 2.721 79.625 4.045 5.4 0.747 15.44 1.403 22.312 1.46l12.494 0.1-1.852 1.354c-1.879 1.372-12.385 3.478-20.813 4.168-2.542 0.21-11.643 0.04-20.227-0.38z m135.2-103.383l-1.481-1.782 1.223-1.223 1.223-1.224 2.43 0.774 2.424 0.769v4.473h-2.167c-1.197 0-2.84-0.804-3.652-1.782z m-32.237-2.944a104.785 104.785 0 0 1-10.59-2.822l-5.474-1.818-5.208-5.566a50.503 50.503 0 0 1-12.341-23.128l-1.481-6.273 0.76-13.325 0.764-13.32-3.52 3.372c-3.47 3.32-10.39 15.71-10.39 18.598a3.058 3.058 0 0 1-1.337 2.307l-1.337 0.83 0.704-5.977 0.708-5.972 3.477-7.287 3.478-7.287 6.99-7.623c12.07-13.172 28.095-23.605 43.381-28.236l6.934-2.097 16.758-0.022 16.763-0.017 8.397 3.932 8.397 3.936 3.163-1.586c1.739-0.873 3.63-1.8 4.202-2.066l1.049-0.48-0.677 4.163-0.677 4.163 3.228 2.639c7.475 6.107 23.548 14.749 27.467 14.766 7.435 0.03 1.664 5.697-9.468 9.297-4.451 1.442-8.99 3.451-10.091 4.474l-1.997 1.856-2.333 9.118c-2.424 9.48-3.888 12.254-6.457 12.254h-1.52l-0.73-5.491c-1.25-9.459-4.984-20.463-8.667-25.549l-3.548-4.893-8.768-3.997c-4.823-2.198-8.943-3.998-9.152-3.998-0.21 0 1.738 4.413 4.325 9.808l4.705 9.804 1.232 8.55 1.232 8.55-1.45 8.116c-1.932 10.791-6.554 20.219-13.815 28.157l-5.963 6.518-5.19 2.442-5.19 2.438-7.812-0.127c-4.298-0.07-10.118-0.576-12.931-1.131z m-4.793-43.203c5.308-2.743 6.204-7.645 2.311-12.6l-2.398-3.044h-7.833l-2.36 2.53-2.354 2.529v3.027c0 6.798 6.54 10.712 12.634 7.558z m58.157 41.967c-3.582-3.583-0.616-6.497 4.47-4.391l3.45 1.428-0.353 1.862-0.35 1.86-2.892 0.341c-1.585 0.184-3.534-0.305-4.325-1.1z m-362.533-21.298c-1.974-5.142 1.376-10.018 6.89-10.018h3.036l2.394 2.394 2.394 2.394-1.555 1.87c-3.818 4.6-11.892 6.663-13.159 3.364z m411.38-111.592c-15.946-10.52-39.633-17.492-68.336-20.113l-8.23-0.756-9.11 1.337a430.297 430.297 0 0 0-20.664 3.74c-6.36 1.323-13.787 2.643-16.505 2.93l-4.937 0.525-1.834-1.516-1.827-1.52 0.538-5.61 0.542-5.605 4.5-4.648c5.53-5.723 10.904-8.572 20.35-10.8l7.26-1.712 11.734-0.018 11.735-0.013 13.115 2.268c27.908 4.823 40.883 10.594 60.52 26.929l10.975 9.13 0.686 2.73c1.398 5.567-4.063 6.978-10.512 2.722z' fill='#A66A5D'/><path d='M495.142 1021.395c-73.893-3.744-136.83-19.467-197.66-49.367-26.02-12.8-62.312-34.727-68.166-41.198l-1.992-2.201 0.83-1.342c2.691-4.36 30.725-19.21 45.924-24.334 3.758-1.262 8.974-3.652 11.6-5.308 2.625-1.66 13.896-7.492 25.05-12.966s21.962-11.154 24.02-12.617c2.057-1.468 7.566-4.434 12.24-6.597 4.675-2.158 9.236-4.814 10.132-5.898 0.891-1.088 4.229-3.643 7.41-5.68 3.18-2.04 8.038-5.596 10.799-7.902 2.76-2.307 6.055-4.194 7.326-4.194h2.303l-2.993 3.556c-3.888 4.626-4.565 7.645-3.875 17.318l0.568 7.973 4.609 9.563c20.817 43.224 62.08 74.457 110.32 83.5 5.308 0.992 12.158 2.315 15.225 2.945 3.067 0.629 15.29 1.122 27.165 1.1l21.582-0.034 10.983-1.59c50.739-7.349 74.483-30.862 77.1-76.358l0.598-10.402-1.289-6.894c-0.707-3.792-2.822-10.166-4.696-14.168l-3.403-7.278-6.003-6.348-6.003-6.348h1.792c0.982 0 6.225 2.342 11.651 5.2l9.86 5.202 3.832 0.018c2.105 0.013 8.772 1.066 14.81 2.35 16.352 3.469 57.672 10.005 72.827 11.512 27.349 2.726 33.303 4.98 47.515 18.008l9.698 8.89 4.12 7.065c2.263 3.888 5.776 9.349 7.803 12.15 2.022 2.795 3.683 6.01 3.683 7.146v2.062l-4.915 3.941c-59.398 47.659-155.939 87.55-230.308 95.17l-7.882 0.807 0.822-2.778c0.45-1.53 1.114-4.67 1.472-6.981l0.651-4.199-1.31-3.975c-0.721-2.185-3.08-5.684-5.239-7.777l-3.923-3.805-5.046-0.568-5.05-0.568-4.146 1.73c-2.28 0.953-5.566 3.596-7.3 5.867l-3.155 4.133 0.044 5.898 0.048 5.898 2.438 4.133 2.438 4.133-0.926 0.895c-1.07 1.04-34.029 2.123-46.008 1.516z m189.565-276.923c-56.969-3.521-94.92-6.964-96.737-8.781l-0.983-0.983 9.83-3.735c32.263-12.255 90.315-46.213 116.637-68.227 12.525-10.477 28.2-27.034 39.886-42.124l9.546-12.32h6.78v2.621c0 1.442-1.026 6.33-2.28 10.861-1.254 4.53-3.552 16.221-5.107 25.986l-2.822 17.745-0.328 26.589c-0.175 14.622 0.105 31.918 0.633 38.432l0.957 11.848-1.594 0.179c-5.575 0.633-9.878 0.834-32.224 1.516-13.67 0.415-25.632 0.865-26.589 1.005-0.952 0.13-7.973-0.14-15.605-0.612z m-377.68-11.402c-6.823-1.197-16.448-3.176-21.38-4.391a260.833 260.833 0 0 0-17.641-3.595c-10.77-1.713-37.292-7.222-52.425-10.879l-11.39-2.756-3.058-2.276-3.058-2.272-0.328-2.779c-0.179-1.524-1.428-5.893-2.77-9.707l-2.446-6.938 0.786-27.427 0.787-27.431-1.193-7.248c-1.747-10.616-3.57-31.206-4.683-52.906-0.538-10.485-1.564-21.931-2.28-25.426-0.717-3.495-1.53-13.382-1.805-21.966a9587.98 9587.98 0 0 0-1.04-30.63c-0.882-24.543 2.905-70.358 8.074-97.672 5.028-26.584 6.16-31.726 9.537-43.347a709.692 709.692 0 0 0 5.95-21.962c1.42-5.723 5.623-18.204 9.336-27.741 3.713-9.537 8.327-22.084 10.254-27.886 1.922-5.802 4.818-13.342 6.43-16.759 3.233-6.854 10.914-27.138 15.046-39.738 3.692-11.25 12.137-31.053 19.961-46.811l6.597-13.294 10.63-15.029 10.628-15.028 14.841-14.548c8.161-8.004 16.138-15.234 17.729-16.073 5.692-3.001 20.804-15.763 20.804-17.571 0-2.036-3.932-0.69-12.451 4.255l-8.934 5.186-5.475 0.747-5.474 0.751-1.747-1.455c-0.961-0.8-1.752-2.739-1.752-4.312v-2.861l7.803-8.126c15.823-16.479 35.378-30.158 63.342-44.3l20.861-10.559 18.502-5.994 18.502-5.998 14.836-2.276 14.836-2.28 25.558 0.034c29.742 0.044 37.304 0.848 54.504 5.802l12.665 3.648 13.294 6.79 13.29 6.788 10.983 8.768c6.038 4.823 13.937 11.857 17.54 15.632 3.614 3.774 7.318 6.867 8.24 6.867 0.922 0 2.324 0.778 3.115 1.735 1.892 2.272 5.107 2.202 7.065-0.153l1.564-1.887-4.998-4.308-4.994-4.303 3.11-2.447c4.094-3.22 9.145-4.067 20.36-3.42l9.23 0.537 6.344 6.256 6.343 6.256-0.65 2.6-0.647 2.603 6.09 2.818c3.35 1.547 13.373 6.086 22.272 10.079l16.182 7.265 8.672 6.05c4.766 3.33 11.52 8.026 15.006 10.438 27.017 18.68 53.963 57.449 61.303 88.183l1.516 6.361-0.398 7.514a411.275 411.275 0 0 0-0.445 16.182l-0.044 8.668 5.57 11.56c20.013 41.52 28.681 78.157 30.201 127.725l0.73 23.696-1.73 12.796-1.73 12.792-4.675 14.373c-2.577 7.908-6.51 18.013-8.75 22.46-2.242 4.452-4.08 9.13-4.08 10.398-0.023 7.82-10.014 36.413-12.727 36.413h-1.289l0.669-4.91c2.158-15.863 4.054-35.79 4.705-49.415l0.743-15.606-1.857-8.855c-15.758-75.16-67.672-142.78-153.807-200.343-12.08-8.073-24.303-16.627-27.165-19.008-2.861-2.386-6.453-5.003-7.986-5.815l-2.783-1.485-22.648 0.703c-35.819 1.11-43.272 2.709-77.545 16.623-14.264 5.789-31.905 15.649-42.552 23.784-3.617 2.76-11.52 8.318-17.562 12.341-19.022 12.67-49.455 44.68-58.096 61.089l-5.269 10c-1.005 1.909-2.044 6.422-2.306 10.035l-0.481 6.57 3.893 0.595c2.14 0.332 12.796 0.9 23.678 1.271l19.79 0.677 12.854 2.158 12.857 2.163 7.357 3.442c7.243 3.39 20.808 11.088 25.894 14.697l2.599 1.848v9.056l-2.254 1.206-2.255 1.21-7.654-2.883c-8.938-3.364-34.15-10.459-43.32-12.193-3.495-0.66-15.2-1.241-26.008-1.29l-19.65-0.086-10.979 2.01c-6.042 1.1-12.329 2.686-13.971 3.52-6.226 3.155-13.862 16.016-17.113 28.817-1.293 5.085-3.67 12.486-5.286 16.448-1.612 3.958-2.931 7.536-2.931 7.951 0 2.215 24.124-4.001 24.356-6.278 0.93-9.187 1.463-9.655 5.692-5.024l3.399 3.727 2.639-0.55c1.45-0.306 6.029-0.87 10.179-1.254l7.55-0.7 10.37 1.228c29.69 3.521 44.335 10.31 62.793 29.105l7.23 7.361 5.155 10.402 5.16 10.407 0.555 7.514 0.554 7.514-2.118-6.36c-4.693-14.09-11.814-22.963-26.086-32.504l-7.038-4.705-0.359 1.747c-0.192 0.966 0.913 4.268 2.46 7.34 9.419 18.698 6.335 40.965-7.864 56.754l-5.373 5.972-7.148 3.517-7.147 3.517-18.454-0.463-18.449-0.463-0.49-1.573c-0.266-0.865-3.468-4.705-7.107-8.532-7.453-7.838-10.586-13.338-12.705-22.338l-1.454-6.181 0.62-8.847c0.786-11.28 2.04-15.269 7.746-24.732 5.68-9.41 5.692-8.964-0.297-8.964h-4.937l-4.294 2.918-4.295 2.918-4.578 9.507c-2.517 5.229-5.475 12.887-6.571 17.02-1.097 4.133-2.416 7.995-2.927 8.585l-0.935 1.07-3.102-6.85-3.102-6.85-1.258-9.825-1.258-9.826-4.85-0.35-4.84-0.353-1.673 2.665c-7.978 12.713-9.061 89.21-1.822 128.655l2.337 12.714-0.358 7.514-0.354 7.514-2.604 0.371c-1.433 0.201-3.18 1.446-3.888 2.766l-1.28 2.398 0.603 4.5 0.603 4.509 4.915 8.33c6.898 11.696 17.453 24.055 33.818 39.586l14.068 13.351 11.227 7.458c6.174 4.098 18.009 10.891 26.3 15.094l15.081 7.64 0.734 2.928c0.407 1.603 0.271 5.84-0.297 9.414l-1.03 6.492-20.228-0.362c-11.123-0.201-24.649-0.874-30.053-1.49-5.404-0.62-20.8-1.442-34.216-1.835l-24.386-0.699-1.04 1.617c-0.572 0.887-1.044 4.687-1.044 8.444v6.829l-1.154 0.297c-0.638 0.162-6.74-0.686-13.569-1.887z m96.262-267.238l2.32-3.757-0.695-2.883c-0.996-4.172-3.897-6.938-7.26-6.938h-2.928l-2.674 2.512-2.678 2.512v8.716l2.57 1.8c1.415 0.987 4.023 1.796 5.797 1.796h3.232z m277.954 64.265c-1.272-0.267-5.937-1.333-10.363-2.36l-8.052-1.878-5.627-5.264c-12.022-11.245-18.654-34.382-13.687-47.75 0.546-1.473 1.35-4.627 1.787-7.008l0.786-4.338h-1.743c-0.961 0-3.66 1.682-5.998 3.735l-4.255 3.735 2.066-3.988c9.991-19.324 39.616-36.628 66.16-38.642l9.516-0.721 7.82 1.236c4.303 0.682 11.206 2.761 15.334 4.622 4.137 1.862 8.559 3.268 9.83 3.124l2.311-0.262 0.345 2.311 0.34 2.311 11.22 7.274c6.164 3.998 13.425 7.877 16.125 8.62 7.667 2.101 6.343 3.81-6.068 7.837-10.367 3.364-11.52 4.561-14.356 14.867-3.246 11.809-4.959 12.552-6.422 2.787-0.454-3.005-1.861-8.243-3.132-11.642l-2.316-6.178-7.112-8.003-7.121-8-6.934-2.271c-6.723-2.202-9.873-2.81-13.119-2.534l-1.56 0.13 5.606 6.143c6.99 7.646 11.424 16.589 13.145 26.462l1.324 7.61-1.359 9.083-1.363 9.078-4.037 7.724c-4.823 9.218-11.49 16.125-19.34 20.04l-5.758 2.866-5.841-0.131c-3.211-0.075-6.881-0.354-8.152-0.625z m-6.65-43.854l2.604-2.91v-3.245c0-4.282-3.814-8.978-8.038-9.909l-3.386-0.742-2.665 1.424c-7.558 4.02-7.833 14.657-0.48 17.912l3.586 1.586 2.892-0.603c1.586-0.328 4.059-1.91 5.487-3.513z m-303.69 18.629' fill='#47332F'/>`,
        match: {
          link: /^https:\/\/www.doubao.com/,
        },
      },
      {
        id: ICON_IDS.blog.csdn,
        name: 'CSDN',
        category: [IconCategory.PLATFORM, IconCategory.BLOG],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M0 0h1024v1024H0z' fill='#FF6633'/><path d='M698.9824 42.3936c-158.8736-32.5632-289.536 31.2832-324.9152 48.5888-94.72 46.2848-147.712 108.288-174.4896 140.288-25.9584 31.0272-82.7392 105.9328-108.288 215.8592-21.6576 93.1328-10.752 167.7824-6.0416 194.2528 11.4688 64.3072 33.28 186.88 150.4256 275.2 132.5056 99.8912 293.4784 85.5552 342.9888 80.9472 107.264-10.0352 289.4848-57.2928 300.8512-145.7152 5.1712-39.936-24.4224-89.4464-66.2016-102.5024-65.6384-20.5312-108.3392 63.5392-228.6592 80.9472-8.5504 1.2288-126.5664 16.6912-216.6272-48.5888-105.8816-76.6976-98.9696-211.3024-96.256-264.3968 1.536-30.5664 5.5808-93.5424 48.128-161.8944 14.7968-23.7568 60.3136-94.5664 156.4672-134.912 25.2928-10.5984 76.8512-31.5904 144.4352-26.9824 70.0416 4.7616 120.9856 34.5088 144.4352 48.5888 75.8272 45.4144 86.528 90.0608 120.3712 86.3232 35.8912-3.9424 69.9904-59.2896 66.2016-107.9296-7.424-93.7984-155.5968-158.1056-252.8256-178.0736z' fill='#FFFFFF'/>`,
        match: {
          link: /^https:\/\/(blog.csdn.net|devpress.csdn.net)/,
        },
      },
      {
        id: ICON_IDS.blog.jianShu,
        name: '简书',
        category: [IconCategory.PLATFORM, IconCategory.BLOG],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M654.791111 38.494815H368.260741c-95.004444 0-142.411852 0-193.611852 16.118518-55.940741 20.48-99.934815 64.474074-120.225185 120.225186-16.308148 51.2-16.308148 98.607407-16.308148 193.611851v286.530371c0 95.004444 0 142.601481 16.118518 193.611852 20.29037 55.751111 64.284444 99.745185 120.035556 120.035555 51.2 16.118519 98.607407 16.118519 193.611851 16.118519h286.530371c95.004444 0 142.411852 0 193.611852-16.118519 55.751111-20.29037 99.745185-64.284444 120.225185-120.035555 16.118519-51.2 16.118519-98.607407 16.118518-193.611852V368.45037c0-95.004444 0-142.411852-16.118518-193.611851-20.29037-55.751111-64.284444-99.745185-120.225185-120.225186-50.820741-16.118519-98.228148-16.118519-193.232593-16.118518z m0 0' fill='#ea6f5a'/><path d='M235.52 456.817778h70.731852v370.346666h-70.731852V456.817778z m40.011852-112.450371c17.825185 32.995556 29.202963 65.801481 34.512592 98.797037h77.17926c-10.619259-42.097778-23.893333-74.903704-39.822223-98.797037h-71.869629z m0 0' fill='#FFFFFF'/><path d='M427.804444 278.565926h85.143704v-46.648889h-154.358518c1.706667-3.602963 4.361481-10.05037 7.964444-19.152593 1.706667-7.395556 3.602963-12.705185 5.30963-16.497777H292.02963c-12.325926 49.303704-40.77037 85.902222-85.143704 109.795555V352.711111c58.595556-14.601481 100.124444-39.253333 124.965926-73.955555h26.548148c8.912593 23.703704 14.222222 46.648889 15.928889 68.645925h74.524444c-5.12-25.78963-12.325926-48.734815-21.048889-68.835555zM393.102222 426.666667h320.663704v301.70074c1.706667 27.496296-10.619259 40.201481-37.167407 38.305186h-43.994075v54.802963h63.905186c62.008889 1.896296 92.16-26.548148 90.453333-85.143704V371.863704H393.102222V426.666667z m0 0' fill='#FFFFFF'/><path d='M643.223704 476.16H382.482963v277.048889h180.906667c56.699259 1.896296 83.437037-25.6 79.834074-82.299259V476.16z m-188.871111 49.303704h117.001481v63.146666h-117.001481v-63.146666z m82.488888 178.251852h-82.488888V635.259259h117.001481v32.995556c1.706667 25.41037-9.671111 37.357037-34.512593 35.460741z m109.037038-474.453334c0-1.896296 0.948148-4.551111 2.654814-8.154074l7.964445-24.651852h-79.834074c-12.515556 51.2-39.822222 89.694815-82.488889 115.294815v43.804445c54.992593-14.601481 96.711111-40.201481 124.965926-76.8h37.167407c8.912593 23.703704 14.222222 46.648889 15.928889 68.645925h71.86963c-1.706667-18.204444-8.912593-41.14963-21.238519-68.645925h93.108148v-49.303704h-170.097777z m0 0' fill='#FFFFFF'/>`,
        match: {
          link: /^https:\/\/www.jianshu.com/,
        },
      },
      {
        id: ICON_IDS.blog.jueJin,
        name: '掘金',
        category: [IconCategory.PLATFORM, IconCategory.BLOG],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M753.38 91.207L637.704 0 516.872 95.303l-6.286 5.049 127.118 101.34 127.54-101.34-11.864-9.145z m438.378 353.739L637.386 882.088 83.366 445.193 1.517 510.94l635.869 501.371 636.222-501.654-81.85-65.712z m-554.372 35.451L335.694 242.582 253.88 308.26l383.47 302.398 383.86-302.68-81.815-65.713-302.01 238.133z' fill='#006CFF'/>`,
        match: {
          link: /^https:\/\/(juejin.cn|www.juejin.cn)/,
        },
      },
      {
        id: ICON_IDS.blog.zhiHu,
        name: '知乎',
        category: [IconCategory.PLATFORM, IconCategory.BLOG],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M851.665455 1021.998545H170.333091A170.356364 170.356364 0 0 1 0 851.665455V170.333091A170.356364 170.356364 0 0 1 170.356364 0h681.309091a170.333091 170.333091 0 0 1 170.356363 170.356364v681.309091a170.333091 170.333091 0 0 1-170.356363 170.356363z' fill='#0D84FD'/><path d='M540.765091 487.191273h-101.748364c11.706182-19.712 4.631273-137.751273 4.631273-137.751273h93.812364c10.984727-30.208-10.356364-42.123636-10.356364-42.123636h-173.149091l27.112727-74.472728c-66.513455-3.095273-74.309818 66.56-74.309818 66.56l-45.381818 116.619637c70.4 4.491636 77.474909-67.397818 77.474909-67.397818h51.595636v137.751272h-108.683636c-19.549091 18.176-19.549091 46.149818-19.549091 46.149818h125.207273C372.503273 668.043636 256 762.577455 256 762.577455c118.946909 39.330909 159.581091-148.363636 159.581091-148.363637l107.124364 118.039273c21.969455-25.018182 1.582545-66.56 1.582545-66.56l-78.941091-84.526546-22.690909 21.131637c11.706182-20.433455 10.984727-71.912727 10.984727-71.912727h117.364364c10.868364-42.356364-10.24-43.194182-10.24-43.194182z m41.472-186.973091v403.479273l42.216727 2.234181 15.616 47.685819 74.309818-49.92H814.545455V300.218182h-232.308364z m183.016727 360.378182h-53.922909l-53.201454 34.816-7.07491-37.050182H626.036364V344.971636h139.217454v315.624728z' fill='#FFFFFF'/>`,
        match: {
          link: /^https:\/\/zhuanlan.zhihu.com/,
        },
      },
      {
        id: ICON_IDS.blog.cnBlogs,
        name: '博客园',
        category: [IconCategory.PLATFORM, IconCategory.BLOG],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M851.40363594 172.59636406c-187.46181844-187.46181844-491.34545437-187.46181844-678.80727188 0-187.46181844 187.46181844-187.46181844 491.34545437 0 678.80727188 187.46181844 187.46181844 491.34545437 187.46181844 678.80727188 0 187.46181844-187.46181844 187.46181844-491.34545437 0-678.80727188zM387.33090875 728.08727281a47.08363594 47.08363594 0 1 1-66.63272719-66.50181843 47.08363594 47.08363594 0 0 1 66.63272719 66.50181843z m205.52727281 1.39636313a38.74909125 38.74909125 0 0 1-76.62545437-11.52h-0.04363594a6.54545437 6.54545437 0 0 0-0.04363688 0.30545531v-0.34909125c0.30545438-2.61818156 2.05090875-20.72727281-2.96727281-44.98909125a174.24 174.24 0 0 0-48.56727281-89.28 172.10181844 172.10181844 0 0 0-88.8-48.30545438 156.69818156 156.69818156 0 0 0-42.45818156-2.92363593 38.66181844 38.66181844 0 0 1-35.38909125-65.32363688 38.61818156 38.61818156 0 0 1 21.12-10.8218175v-0.2181825c4.45090875-0.74181844 111.14181844-16.45090875 200.33454562 72.74181844 89.01818156 89.01818156 74.18181844 196.14545438 73.44 200.72727281z m175.2 7.59272812a38.74909125 38.74909125 0 0 1-65.67272719 21.3818175 39.49090875 39.49090875 0 0 1-11.65090875-33.73090875c0.08727281-0.34909125 5.10545437-37.48363594-5.06181843-88.97454562-13.30909125-67.37454562-45.29454563-126.89454563-94.95272719-176.90181844-50.00727281-49.70181844-109.52727281-81.64363594-176.94545438-94.95272719-51.49090875-10.16727281-88.58181844-5.19272719-89.01818156-5.14909031h0.21818156-0.04363687a39.92727281 39.92727281 0 0 1-44.68363594-32.90181844 38.83636406 38.83636406 0 0 1 32.20363594-44.37818156c1.92-0.30545438 47.86909125-7.33090875 111.27272719 4.36363594a411.75272719 411.75272719 0 0 1 106.25454562 34.95272718 425.76 425.76 0 0 1 114.63272719 82.25454563l0.91636406 0.96 0.96 0.87272719a425.89090875 425.89090875 0 0 1 82.25454563 114.72c16.40727281 33.6 28.14545437 69.29454562 34.99636312 106.21090875 11.65090875 63.40363594 4.66909125 109.35272719 4.32 111.27272812z' fill='#1296db'/>`,
        match: {
          link: /^https:\/\/(w{2,4}|brands|dev-blog).cnblogs.com/,
        },
      },
      {
        id: ICON_IDS.blog.stackoverflow,
        name: 'Stack Overflow',
        category: [IconCategory.PLATFORM, IconCategory.BLOG],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M620.715 895.83l-407.339 0.17-0.043-87.168 407.339-0.213 0.043 87.21zM896 402.132L826.325 0l-85.76 14.933 69.675 402.091L896 402.091zM630.528 696.832l-405.632-37.419-7.979 86.827 405.632 37.376 7.979-86.784z m26.752-113.75l-393.387-105.94-22.613 84.18 393.43 105.985 22.613-84.224z m51.37-99.711L357.76 276.053l-44.16 75.094 350.89 207.36 44.203-75.094z m86.017-61.014L565.163 85.12l-71.894 49.067 229.547 337.237 71.85-49.067z' fill='#FF810F'/><path d='M697.77 597.333v357.974H155.905V597.333h-70.57V1024H768V597.333z' fill='#BEBCBC'/>`,
        match: {
          link: /^https:\/\/stackoverflow.com/,
        },
      },
      {
        id: ICON_IDS.openSource.github,
        name: 'GitHub',
        category: [IconCategory.PLATFORM, IconCategory.OPEN_SOURCE],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
        match: {
          link: /^https:\/\/github.com/,
        },
      },
      {
        id: ICON_IDS.openSource.gitee,
        name: 'Gitee',
        category: [IconCategory.PLATFORM, IconCategory.OPEN_SOURCE],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<circle cx='512' cy='512' r='500' fill='#ffffff'/><path d='M512 1024C229.2224 1024 0 794.7776 0 512S229.2224 0 512 0s512 229.2224 512 512-229.2224 512-512 512z m259.1488-568.8832H480.4096a25.2928 25.2928 0 0 0-25.2928 25.2928l-0.0256 63.2064c0 13.952 11.3152 25.2928 25.2672 25.2928h177.024c13.9776 0 25.2928 11.3152 25.2928 25.2672v12.6464a75.8528 75.8528 0 0 1-75.8528 75.8528H366.592a25.2928 25.2928 0 0 1-25.2672-25.2928v-240.1792a75.8528 75.8528 0 0 1 75.8272-75.8528h353.9456a25.2928 25.2928 0 0 0 25.2672-25.2928l0.0768-63.2064a25.2928 25.2928 0 0 0-25.2672-25.2928H417.152a189.6192 189.6192 0 0 0-189.6192 189.6448v353.9456c0 13.9776 11.3152 25.2928 25.2928 25.2928h372.9408a170.6496 170.6496 0 0 0 170.6496-170.6496v-145.408a25.2928 25.2928 0 0 0-25.2928-25.2672z' fill='#C71D23' stroke='#ffffff' stroke-width='0' shape-rendering='geometricPrecision'/>`,
        match: {
          link: /^https:\/\/gitee.com/,
        },
      },
      {
        id: ICON_IDS.cloud.baiduCloud,
        name: '百度云',
        category: [IconCategory.PLATFORM, IconCategory.CLOUD],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M195.483991 17.425393h633.097238c118.705732 0 178.058598 59.352866 178.058598 178.058598v633.097238c0 118.705732-59.352866 178.058598-178.058598 178.058598h-633.097238c-118.705732 0-178.058598-59.352866-178.058598-178.058598v-633.097238c0-118.705732 59.352866-178.058598 178.058598-178.058598z' fill='#FFFFFF'/><path d='M828.581229 0c128.293503 0 195.407897 67.114395 195.407897 195.483991v633.097238c0 128.293503-67.114395 195.407897-195.407897 195.407897h-633.097238C67.114395 1023.989126 0 956.874732 0 828.657322v-633.097238C0 67.114395 67.114395 0 195.483991 0h633.097238z m0 34.774692h-633.097238C86.366029 34.774692 34.774692 86.366029 34.774692 195.560084v633.097238C34.774692 937.623097 86.366029 989.214434 195.560084 989.214434h633.097238C937.623097 989.214434 989.214434 937.623097 989.214434 828.581229v-633.097238c0-109.117961-51.591337-160.709299-160.633205-160.709299z' fill='#ffffff'/><path d='M512.03261 304.297579a98.921443 98.921443 0 1 0 0 197.842886 98.921443 98.921443 0 0 0 0-197.842886m0-89.029299a187.950743 187.950743 0 1 1 0 375.901485 187.950743 187.950743 0 0 1 0-375.901485z' fill='#61C3FA'/><path d='M811.840677 733.844923a173.340806 173.340806 0 0 1-244.716433-8.522462 44.51465 44.51465 0 0 1 65.135966-60.722548 84.083227 84.083227 0 1 0 4.185138-118.857919 44.51465 44.51465 0 0 1-60.722547-65.135966 173.112526 173.112526 0 0 1 236.117876 253.238895z m-487.75881-211.920169a89.029299 89.029299 0 1 0 0 178.058598 89.029299 89.029299 0 0 0 0-178.058598m0-89.029299a178.058598 178.058598 0 1 1 0 356.117196 178.058598 178.058598 0 0 1 0-356.117196z' fill='#61C3FA'/><path d='M440.276517 745.715497l-63.538004-62.32051L578.309977 477.638385l63.538004 62.396603z' fill='#61C3FA'/><path d='M512.03261 591.169765a188.179023 188.179023 0 0 1-187.950743-187.950743 44.51465 44.51465 0 1 1 89.029299 0 98.921443 98.921443 0 0 0 197.842887 0 44.51465 44.51465 0 0 1 89.029299 0 188.179023 188.179023 0 0 1-187.950742 187.950743z' fill='#EC5A70'/><path d='M383.434733 927.502672h128.597877v79.137155h-128.597877a39.568577 39.568577 0 1 1 0-79.137155z' fill='#EB566F'/><path d='M512.03261 927.502672h128.597876a39.568577 39.568577 0 0 1 0 79.137155h-128.597876v-79.137155z' fill='#448BF7'/>`,
        match: {
          link: /^https:\/\/pan.baidu.com/,
        },
      },
      {
        id: ICON_IDS.cloud.lanzouCloud,
        name: '蓝奏云',
        category: [IconCategory.PLATFORM, IconCategory.CLOUD],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M0 886.4V748l92-59.2c51.2-32.8 100.8-68 111.2-77.6 9.6-10.4 24.8-41.6 32-68.8 16.8-62.4 57.6-119.2 107.2-150.4 32.8-20.8 44.8-24 97.6-24 43.2 0 70.4 4.8 95.2 16.8 20 8.8 40 14.4 45.6 12s23.2-29.6 40-60.8c44-84 103.2-140 199.2-187.2 70.4-35.2 87.2-40 141.6-43.2l62.4-4v922.4H0v-137.6z' fill='#FFFEFE'/><path d='M0 388.8V0h1024v125.6l-51.2 4c-39.2 3.2-68 12.8-129.6 43.2-95.2 47.2-152.8 101.6-199.2 188-40.8 76-56 82.4-122.4 52.8-28.8-12.8-61.6-21.6-82.4-21.6-73.6 0.8-153.6 78.4-180 173.6-7.2 27.2-20 56.8-28.8 66.4-19.2 20.8-188.8 132-212 139.2l-18.4 5.6V388.8z' fill='#FF6500'/>`,
        match: {
          link: /^https:\/\/lanzouq.com/,
        },
      },
      {
        id: ICON_IDS.social.weixin,
        name: '微信',
        category: [IconCategory.PLATFORM, IconCategory.SOCIAL],
        tag: [IconTag.LINK, IconTag.ARTICLE_LINK],
        path: `<path d='M579.015111 512c-11.761778 0-23.523556 10.737778-23.523555 24.035556 0 10.737778 11.761778 21.475556 23.523555 21.475555 17.393778 0 30.179556-10.737778 30.179556-21.475555 0-13.297778-12.785778-24.035556-30.179556-24.035556z m-76.728889-170.851556c-17.379556 0-34.261333 10.737778-34.261333 29.155556 0 17.393778 16.881778 29.155556 34.275555 29.155556 18.403556 0 30.179556-11.761778 30.179556-29.155556 0-18.417778-11.776-29.155556-30.193778-29.155556z m-164.693333 0c-17.393778 0-35.811556 10.737778-35.811556 29.155556 0 17.393778 18.417778 29.155556 35.811556 29.155556 16.355556 0 30.179556-11.761778 30.179555-29.155556-0.512-18.417778-13.809778-29.155556-30.179555-29.155556z m164.693333 0c-17.379556 0-34.261333 10.737778-34.261333 29.155556 0 17.393778 16.881778 29.155556 34.275555 29.155556 18.403556 0 30.179556-11.761778 30.179556-29.155556 0-18.417778-11.776-29.155556-30.193778-29.155556z m76.728889 170.837334c-11.761778 0-23.523556 10.752-23.523555 24.035555 0 10.752 11.761778 21.489778 23.523555 21.489778 17.393778 0 30.179556-10.737778 30.179556-21.475555 0-13.297778-12.785778-24.035556-30.179556-24.035556z m130.944 0c-12.273778 0-23.523556 10.752-23.523555 24.035555 0 10.752 10.737778 21.489778 23.523555 21.489778 16.881778 0 29.155556-10.737778 29.155556-21.475555 0-13.297778-12.785778-24.035556-29.155556-24.035556z m0 0c-12.273778 0-23.523556 10.752-23.523555 24.035555 0 10.752 10.737778 21.489778 23.523555 21.489778 16.881778 0 29.155556-10.737778 29.155556-21.475555 0-13.297778-12.785778-24.035556-29.155556-24.035556z m-130.944 0c-11.761778 0-23.523556 10.752-23.523555 24.035555 0 10.752 11.761778 21.489778 23.523555 21.489778 17.393778 0 30.179556-10.737778 30.179556-21.475555 0-13.297778-12.785778-24.035556-30.179556-24.035556z m-76.728889-170.837334c-17.379556 0-34.261333 10.737778-34.261333 29.155556 0 17.393778 16.881778 29.155556 34.275555 29.155556 18.403556 0 30.179556-11.761778 30.179556-29.155556 0-18.417778-11.776-29.155556-30.193778-29.155556z m-164.693333 0c-17.393778 0-35.811556 10.737778-35.811556 29.155556 0 17.393778 18.417778 29.155556 35.811556 29.155556 16.355556 0 30.179556-11.761778 30.179555-29.155556-0.512-18.417778-13.809778-29.155556-30.179555-29.155556zM511.502222 0.995556C229.148444 0.995556 0 230.144 0 512.497778 0 794.851556 229.148444 1024 511.502222 1024 793.841778 1024 1023.004444 794.851556 1023.004444 512.497778 1023.004444 230.144 793.841778 0.995556 511.502222 0.995556z m-75.704889 640.398222c-6.641778 1.024-14.321778 1.024-20.963555 1.024-30.691556 0-53.191111-5.12-82.360889-13.297778l-84.394667 41.955556 24.035556-71.623112C212.792889 557.511111 178.005333 505.344 178.005333 440.888889c0-113.550222 106.908444-199.992889 236.316445-199.992889 115.086222 0 217.386667 68.024889 237.326222 164.693333-8.177778-1.521778-15.857778-2.56-22.499556-2.56-113.564444 0-200.504889 84.906667-200.504888 187.221334 0.512 18.417778 3.057778 34.275556 7.153777 51.143111z m279.793778 106.396444c-24.035556 5.12-47.573333 12.273778-71.608889 12.273778-111.502222 0-200.007111-76.728889-200.007111-171.861333 0-95.146667 88.504889-171.349333 200.007111-171.349334 105.870222 0 200.504889 76.714667 200.504889 171.349334 0 53.191111-35.797333 100.764444-82.346667 135.04l16.867556 59.832889-63.431111-35.285334z m-5.632-235.804444c-12.273778 0-23.523556 10.752-23.523555 24.035555 0 10.752 10.737778 21.489778 23.523555 21.489778 16.881778 0 29.155556-10.737778 29.155556-21.475555 0-13.297778-12.785778-24.035556-29.155556-24.035556z m-130.944 0c-11.761778 0-23.523556 10.752-23.523555 24.035555 0 10.752 11.761778 21.489778 23.523555 21.489778 17.393778 0 30.179556-10.737778 30.179556-21.475555 0-13.297778-12.785778-24.035556-30.179556-24.035556z m-46.535111-141.681778c0-18.417778-11.776-29.155556-30.193778-29.155556-17.379556 0-34.261333 10.737778-34.261333 29.155556 0 17.393778 16.881778 29.155556 34.275555 29.155556 18.403556 0 30.179556-11.761778 30.179556-29.155556z m-194.887111-29.155556c-17.393778 0-35.811556 10.737778-35.811556 29.155556 0 17.393778 18.417778 29.155556 35.811556 29.155556 16.355556 0 30.179556-11.761778 30.179555-29.155556-0.512-18.417778-13.809778-29.155556-30.179555-29.155556z m0 0c-17.393778 0-35.811556 10.737778-35.811556 29.155556 0 17.393778 18.417778 29.155556 35.811556 29.155556 16.355556 0 30.179556-11.761778 30.179555-29.155556-0.512-18.417778-13.809778-29.155556-30.179555-29.155556z m164.693333 0c-17.379556 0-34.261333 10.737778-34.261333 29.155556 0 17.393778 16.881778 29.155556 34.275555 29.155556 18.403556 0 30.179556-11.761778 30.179556-29.155556 0-18.417778-11.776-29.155556-30.193778-29.155556z m76.728889 170.837334c-11.761778 0-23.523556 10.752-23.523555 24.035555 0 10.752 11.761778 21.489778 23.523555 21.489778 17.393778 0 30.179556-10.737778 30.179556-21.475555 0-13.297778-12.785778-24.035556-30.179556-24.035556z m130.944 0c-12.273778 0-23.523556 10.752-23.523555 24.035555 0 10.752 10.737778 21.489778 23.523555 21.489778 16.881778 0 29.155556-10.737778 29.155556-21.475555 0-13.297778-12.785778-24.035556-29.155556-24.035556zM337.592889 341.148444c-17.393778 0-35.811556 10.737778-35.811556 29.155556 0 17.393778 18.417778 29.155556 35.811556 29.155556 16.355556 0 30.179556-11.761778 30.179555-29.155556-0.512-18.417778-13.809778-29.155556-30.179555-29.155556z m372.366222 170.837334c-12.273778 0-23.523556 10.752-23.523555 24.035555 0 10.752 10.737778 21.489778 23.523555 21.489778 16.881778 0 29.155556-10.737778 29.155556-21.475555 0-13.297778-12.785778-24.035556-29.155556-24.035556z' fill='#0AB70E'/><path d='M839.111111 585.216C839.111111 489.287111 744.519111 412.444444 639.744 412.444444 528.881778 412.444444 440.888889 489.813333 440.888889 585.216c0 95.928889 87.992889 173.283556 198.855111 173.283556 23.893333 0 47.303111-7.736889 71.210667-12.373334L774.016 782.222222l-17.294222-60.856889C803.000889 686.805333 839.111111 638.862222 839.111111 585.216z m-264.462222-30.947556c-11.704889 0-23.395556-10.823111-23.395556-21.660444 0-13.411556 11.690667-24.234667 23.395556-24.234667 17.294222 0 30.008889 10.823111 30.008889 24.234667 0 10.837333-12.714667 21.660444-30.008889 21.660444z m130.190222 0c-12.202667 0-23.381333-10.823111-23.381333-21.660444 0-13.411556 10.666667-24.234667 23.381333-24.234667 16.782222 0 28.999111 10.823111 28.999111 24.234667 0 10.837333-12.714667 21.660444-28.999111 21.660444z' fill='#FFFFFF'/><path d='M418.801778 241.777778C290.204444 241.777778 184.888889 327.523556 184.888889 440.149333c0 63.416889 34.432 115.669333 93.155555 157.269334L254.250667 668.444444l83.541333-42.097777c28.856889 8.106667 51.128889 13.184 81.507556 13.184 6.584889 0 14.179556 0 20.764444-1.009778-4.053333-16.753778-6.584889-31.971556-6.584889-49.720889 0-101.475556 86.570667-185.685333 198.471111-185.685333 6.584889 0 14.179556 1.009778 22.272 2.531555C633.969778 309.248 532.707556 241.777778 418.801778 241.777778zM342.328889 398.549333c-17.208889 0-35.441778-11.676444-35.441778-28.928 0-18.261333 18.232889-28.913778 35.441778-28.913777 16.213333 0 29.866667 10.652444 29.866667 28.913777-0.497778 17.251556-13.653333 28.928-29.866667 28.928z m163.029333 0c-17.208889 0-33.92-11.676444-33.92-28.928 0-18.261333 16.711111-28.913778 33.92-28.913777 18.232889 0 29.866667 10.652444 29.866667 28.913777 0 17.251556-11.633778 28.928-29.866667 28.928z' fill='#FFFFFF'/>`,
        match: {
          link: /^https:\/\/mp.weixin.qq.com/,
        },
      },
      {
        id: ICON_IDS.social.weiBo,
        name: '微博',
        category: [IconCategory.PLATFORM, IconCategory.SOCIAL],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M901.3 467.6c-3.8 11.7-14.3 19.9-26.5 20.9s-23.9-5.5-29.5-16.3c-3.6-7.1-4.4-15.4-1.9-23h-0.1c16.5-50.4 4.6-105.7-31.2-145.1-35.7-39.3-89.9-56.8-142.2-45.7-7.9 1.7-16.1 0.2-22.9-4.2-6.7-4.4-11.5-11.2-13.2-19-3.5-16.2 7-32.3 23.4-35.8 70.9-15 147.8 6.9 199.9 64.3 52.3 57.2 66.4 135.3 44.2 203.9z' fill='#FF9933'/><path d='M690.8 354.8c-6.7 1.4-13.8 0.2-19.7-3.6-5.9-3.7-9.8-9.6-11.4-16.3-3-14 5.9-27.8 20.1-30.8 35.8-7.6 72.9 4.3 97.4 31.2 25.5 28 32.2 66 21.4 99.4-2.1 6.6-6.7 12-13 15.1-6.2 3.1-13.4 3.7-20 1.6-13.8-4.4-21.3-19.1-16.8-32.7h-0.1c5.5-16.9 1.6-35.4-10.4-48.6-11.9-13.2-30-19-47.5-15.3z' fill='#FF9933'/><path d='M714 502c45.5 14 96.2 47.9 96.2 107.6 0 98.9-143.6 223.4-359.4 223.4-164.6 0-333-79.2-333-209.5 0-68.2 43.5-146.9 118.3-221.2 99.9-99.2 216.5-144.4 260.4-100.8 19.3 19.2 21.2 52.4 8.8 92.1-6.5 20 18.9 8.9 18.9 9 80.8-33.6 151.3-35.6 177 1 13.7 19.4 12.4 46.8-0.3 78.4-5.8 14.4 1.9 16.6 13.1 20z' fill='#E6162D'/><path d='M451.2 786.3c131.3-12.9 231-92.7 222.5-178.5-8.5-85.5-121.9-144.6-253.3-131.7-131.4 12.9-231 92.8-222.5 178.4 8.5 85.7 121.9 144.6 253.3 131.8z' fill='#FFFFFF'/><path d='M464.3 542.1c64.7 16.6 97.7 77.2 71.3 136-26.8 60.3-103.9 92.3-169.3 71.3-63.2-20.2-89.9-82.2-62.2-138 27.1-54.5 97.7-85.4 160.2-69.3z' fill='#1A1A1A'/><path d='M416.6 684.6c12.5-20.3 5.9-43.6-14.6-52.3-20.3-8.4-46.7 0.3-59.2 19.8-12.7 19.6-6.7 43 13.5 52.1 20.4 9.3 47.6 0.4 60.3-19.6z' fill='#FFFFFF'/>`,
        match: {
          text: /(微博)/,
          link: /^https:\/\/(weibo.com|www.weibo.com)/,
        },
      },
      {
        id: ICON_IDS.writing.yuque,
        name: '语雀',
        category: [IconCategory.PLATFORM, IconCategory.WRITING],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M1118.415339 145.958083l-91.292562-4.976133s-34.528264-123.607802-192.99438-134.698314c-158.466116-11.086281-262.152463-4.12562-262.152463-4.125619s117.54843 76.355702 70.440198 212.606942c-35.002182 73.48681-90.378579 133.530446-149.419372 202.536198L102.586182 871.931769c363.426909-5.437355 577.688331-8.158149 642.788496-8.158149 182.563967 0 336.853686-161.546579 330.540429-341.288199-4.341421-123.531636-42.885289-151.441983-56.133818-205.544727-13.244298-54.102744 13.269686-140.381091 98.63405-170.982611z' fill='#31CC79'/><path d='M491.401521 418.769455C300.311273 638.976 0 989.336331 0 989.336331c540.265785 144.688661 789.186645-206.471405 828.166347-328.03967 52.257851-162.993719-21.580165-242.527207-63.369521-268.465719-141.692826-87.945521-246.822083-4.684165-273.395305 25.938513z' fill='#93E65C'/><path d='M499.390413 410.006215c35.907702-34.739835 135.713851-98.99795 266.595438-17.763438 41.950149 26.040066 116.084364 105.890909 63.619174 269.540496-15.220364 47.463669-62.315901 129.789884-146.097719 204.144132-86.671868 0.592397-280.808727 3.143934-582.410579 7.654612l373.214149-434.603372c8.145455-9.520661 16.218975-18.863603 24.174017-28.092298z' fill='#60DB69' opacity='.86'/>`,
        match: {
          link: /^https:\/\/www.yuque.com/,
        },
      },
    ]

    platformIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册用户图标
   */
  private registerUserIcons(): void {
    const userIcons: IconConfig[] = [
      {
        id: ICON_IDS.user.avatarGreen,
        name: '绿色的用户头像',
        category: [IconCategory.USER],
        path: `<path d='M263.41 537.56c-1.41-2.1-1.44-4.21 0-6.31v6.31z' fill='#F0CA9C'/><path d='M262.54 554.7c0.23-1.82-0.73-3.83 0.87-5.43v5.41c-0.28 0.4-0.57 0.41-0.87 0.02z' fill='#F2D2AB'/><path d='M262.54 554.7c0.29-0.01 0.58-0.02 0.87-0.02v4.51c-0.28 0-0.56 0.02-0.84 0.05l-0.03-4.54z' fill='#F7E2C8'/><path d='M183.24 546.52c0-66.58 28.85-128.19 75.6-175.89-6.96-77.51 0.99-123.22 23.88-137.13 23.87-14.9 64.66 2.98 121.36 53.66 31.83-8.94 66.65-13.91 102.46-13.91 33.82 0 66.65 3.97 97.49 12.92 59.69-53.66 101.47-72.54 126.34-57.64 23.88 14.91 30.84 61.61 22.88 141.11 47.75 47.7 76.6 109.31 76.6 176.88 0 87.45-48.74 164.96-123.35 214.64 42.78 18.88 80.57 44.72 112.41 75.52 86.54-81.48 140.26-196.75 140.26-324.94 0-247.44-199.95-447.17-447.65-447.17S63.87 264.3 63.87 511.74c0 128.19 53.72 243.46 140.26 324.94 30.84-28.81 66.65-53.66 106.44-72.54-77.59-49.69-127.33-129.18-127.33-217.62z m0 0' fill='#D1EBE7'/><path d='M829.85 546.52c0-67.57-28.85-129.18-76.6-176.88 7.96-79.49 0-127.19-22.88-141.11-23.87-14.9-66.65 3.97-126.34 57.64-30.84-7.95-63.67-12.92-97.49-12.92-35.81 0-69.64 4.97-102.46 13.91-57.7-50.68-98.48-68.57-121.36-53.66-22.88 13.91-30.84 59.62-23.88 137.13-47.75 47.7-75.6 109.31-75.6 175.89 0 88.44 49.74 167.94 127.33 217.62-40.79 18.88-76.6 43.72-106.44 72.54 51.73 49.69 116.39 86.46 187.02 106.33 27.85-56.64 70.63-93.41 120.37-93.41 49.73 0 92.51 36.77 120.37 92.42 71.62-19.87 135.29-56.64 187.02-106.33-31.84-29.81-69.63-55.65-112.41-75.52 74.6-48.7 123.35-126.2 123.35-213.65zM307.59 363.68c-3.98 0.99-6.96 2.98-9.95 4.97-3.98 0-7.96 0-10.94-1.99-19.9-19.87-17.91-94.4 9.95-109.31 27.85-14.9 99.48 29.81 89.53 54.65-6.96 9.94-38.79 37.76-66.65 50.68-4.98-0.99-9.95 0-11.94 1z m101.47 380.59c-11.94-3.98-22.88-8.95-33.83-13.92 8.95-5.96 16.91-14.91 23.88-27.82 2.98-5.96 5.97-11.92 7.96-18.88 1 6.96 1 14.91 1.99 21.86v38.76z m286.49-387.55c-18.9-15.9-41.78-27.83-65.65-37.76-1.99-1.99-3.98-3.97-4.97-5.96-9.95-24.84 67.64-73.53 98.48-57.64 19.9 9.94 20.89 92.42 0.99 112.29-4.97 1.99-9.95 1.99-16.91 0.99l-11.94-11.92z m0 0' fill='#38D5A9'/><path d='M720.42 581.3c-20.89 6.96-27.85-56.64-45.76-54.65-16.91 0.99-23.87 57.64-33.82 57.64-19.9 0-39.79-32.79-59.69-42.73-82.57-40.74-23.88 29.81-49.74 29.81-22.88 0-149.22-49.69-159.17-29.81-1.99 4.97 0 9.94-9.95 19.87-9.95 9.94-29.84-49.68-39.79-29.81-8.95 45.71 4.97 95.4 1.99 166.94 45.76 37.76 110.42 61.61 182.05 61.61 96.49 0 180.05-42.73 222.83-106.33-4.97-53.66 19.9-101.36-8.95-72.54z m-298.43 89.43c-10.94 0-19.89-12.92-19.89-29.81s8.95-29.81 19.89-29.81c10.94 0 19.89 12.92 19.89 29.81s-8.95 29.81-19.89 29.81z m179.06 0c-10.94 0-19.9-12.92-19.9-29.81s8.95-29.81 19.9-29.81c10.94 0 19.89 12.92 19.89 29.81s-8.95 29.81-19.89 29.81z m0 0' fill='#FFC2B0'/><path d='M581.15 640.92c0 16.47 8.91 29.81 19.9 29.81 10.99 0 19.89-13.34 19.89-29.81s-8.91-29.81-19.89-29.81c-10.99 0-19.9 13.35-19.9 29.81z m0 0M402.1 640.92c0 10.65 3.79 20.49 9.95 25.82 6.16 5.32 13.74 5.32 19.89 0 6.16-5.33 9.95-15.17 9.95-25.82 0-16.47-8.91-29.81-19.89-29.81-11 0-19.9 13.35-19.9 29.81z m0 0' fill='#2F2F2F'/><path d='M760.21 556.45c0 34.78-10.94 68.57-30.84 97.39-5.97-53.66 19.9-101.36-8.95-72.54-20.89 6.96-27.85-56.64-45.76-54.65-16.91 0.99-23.87 57.64-33.82 57.64-19.9 0-39.79-32.79-59.69-42.73-82.57-40.74-23.88 29.81-49.74 29.81-22.88 0-149.22-49.69-159.17-29.81-1.99 4.97 0 9.94-9.95 19.87-9.95 9.94-29.84-49.68-39.79-29.81-8.95 45.71 4.97 95.4 1.99 166.94-44.76-36.77-71.62-86.46-71.62-142.1 0-112.29 113.41-203.71 253.67-203.71 140.27-0.01 253.67 91.41 253.67 203.7z' fill='#2F2F2F'/><path d='M385.18 311.01c9.95-24.84-61.68-69.56-89.53-54.65-27.86 14.91-29.85 89.44-9.95 109.31 25.87 12.91 89.53-39.76 99.48-54.66zM706.5 369.64c6.96 1.99 13.93 1.99 18.9-0.99 19.9-19.87 18.9-102.35-0.99-112.29-30.84-15.9-108.43 32.79-98.48 57.64 6.96 9.94 37.8 37.76 65.66 50.68 2.98 0.99 6.96 1.99 9.95 2.98 0.98-0.01 2.97 0.98 4.96 1.98z' fill='#9EE5CE'/><path d='M705.5 369.64c-4.97-0.99-9.95-2.98-14.92-4.97 2.98 0.99 6.96 1.99 9.95 2.98 1.99 0 3.98 0.99 4.97 1.99z m-73.61 572.38c-38.8 10.93-78.59 16.89-120.37 16.89s-81.57-5.96-120.37-16.89c27.85-55.65 70.63-92.42 120.37-92.42 49.74 0 92.51 36.77 120.37 92.42z m0 0' fill='#9EE5CE'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.user.avatarBlue,
        name: '蓝色的用户头像',
        category: [IconCategory.USER],
        path: `<path d='M263.41 537.56c-1.41-2.1-1.44-4.21 0-6.31v6.31z' fill='#F0CA9C'/><path d='M262.54 554.7c0.23-1.82-0.73-3.83 0.87-5.43v5.41c-0.28 0.4-0.57 0.41-0.87 0.02z' fill='#F2D2AB'/><path d='M262.54 554.7c0.29-0.01 0.58-0.02 0.87-0.02v4.51c-0.28 0-0.56 0.02-0.84 0.05l-0.03-4.54z' fill='#F7E2C8'/><path d='M183.24 546.52c0-66.58 28.85-128.19 75.6-175.89-6.96-77.51 0.99-123.22 23.88-137.13 23.87-14.9 64.66 2.98 121.36 53.66 31.83-8.94 66.65-13.91 102.46-13.91 33.82 0 66.65 3.97 97.49 12.92 59.69-53.66 101.47-72.54 126.34-57.64 23.88 14.91 30.84 61.61 22.88 141.11 47.75 47.7 76.6 109.31 76.6 176.88 0 87.45-48.74 164.96-123.35 214.64 42.78 18.88 80.57 44.72 112.41 75.52 86.54-81.48 140.26-196.75 140.26-324.94 0-247.44-199.95-447.17-447.65-447.17S63.87 264.3 63.87 511.74c0 128.19 53.72 243.46 140.26 324.94 30.84-28.81 66.65-53.66 106.44-72.54-77.59-49.69-127.33-129.18-127.33-217.62z m0 0' fill='#E6EBF4'/><path d='M829.85 546.52c0-67.57-28.85-129.18-76.6-176.88 7.96-79.49 0-127.19-22.88-141.11-23.87-14.9-66.65 3.97-126.34 57.64-30.84-7.95-63.67-12.92-97.49-12.92-35.81 0-69.64 4.97-102.46 13.91-57.7-50.68-98.48-68.57-121.36-53.66-22.88 13.91-30.84 59.62-23.88 137.13-47.75 47.7-75.6 109.31-75.6 175.89 0 88.44 49.74 167.94 127.33 217.62-40.79 18.88-76.6 43.72-106.44 72.54 51.73 49.69 116.39 86.46 187.02 106.33 27.85-56.64 70.63-93.41 120.37-93.41 49.73 0 92.51 36.77 120.37 92.42 71.62-19.87 135.29-56.64 187.02-106.33-31.84-29.81-69.63-55.65-112.41-75.52 74.6-48.7 123.35-126.2 123.35-213.65zM307.59 363.68c-3.98 0.99-6.96 2.98-9.95 4.97-3.98 0-7.96 0-10.94-1.99-19.9-19.87-17.91-94.4 9.95-109.31 27.85-14.9 99.48 29.81 89.53 54.65-6.96 9.94-38.79 37.76-66.65 50.68-4.98-0.99-9.95 0-11.94 1z m101.47 380.59c-11.94-3.98-22.88-8.95-33.83-13.92 8.95-5.96 16.91-14.91 23.88-27.82 2.98-5.96 5.97-11.92 7.96-18.88 1 6.96 1 14.91 1.99 21.86v38.76z m286.49-387.55c-18.9-15.9-41.78-27.83-65.65-37.76-1.99-1.99-3.98-3.97-4.97-5.96-9.95-24.84 67.64-73.53 98.48-57.64 19.9 9.94 20.89 92.42 0.99 112.29-4.97 1.99-9.95 1.99-16.91 0.99l-11.94-11.92z m0 0' fill='#537EFF'/><path d='M720.42 581.3c-20.89 6.96-27.85-56.64-45.76-54.65-16.91 0.99-23.87 57.64-33.82 57.64-19.9 0-39.79-32.79-59.69-42.73-82.57-40.74-23.88 29.81-49.74 29.81-22.88 0-149.22-49.69-159.17-29.81-1.99 4.97 0 9.94-9.95 19.87-9.95 9.94-29.84-49.68-39.79-29.81-8.95 45.71 4.97 95.4 1.99 166.94 45.76 37.76 110.42 61.61 182.05 61.61 96.49 0 180.05-42.73 222.83-106.33-4.97-53.66 19.9-101.36-8.95-72.54z m-298.43 89.43c-10.94 0-19.89-12.92-19.89-29.81s8.95-29.81 19.89-29.81c10.94 0 19.89 12.92 19.89 29.81s-8.95 29.81-19.89 29.81z m179.06 0c-10.94 0-19.9-12.92-19.9-29.81s8.95-29.81 19.9-29.81c10.94 0 19.89 12.92 19.89 29.81s-8.95 29.81-19.89 29.81z m0 0' fill='#FFC2B0'/><path d='M581.15 640.92c0 16.47 8.91 29.81 19.9 29.81 10.99 0 19.89-13.34 19.89-29.81s-8.91-29.81-19.89-29.81c-10.99 0-19.9 13.35-19.9 29.81z m0 0M402.1 640.92c0 10.65 3.79 20.49 9.95 25.82 6.16 5.32 13.74 5.32 19.89 0 6.16-5.33 9.95-15.17 9.95-25.82 0-16.47-8.91-29.81-19.89-29.81-11 0-19.9 13.35-19.9 29.81z m0 0' fill='#2F2F2F'/><path d='M760.21 556.45c0 34.78-10.94 68.57-30.84 97.39-5.97-53.66 19.9-101.36-8.95-72.54-20.89 6.96-27.85-56.64-45.76-54.65-16.91 0.99-23.87 57.64-33.82 57.64-19.9 0-39.79-32.79-59.69-42.73-82.57-40.74-23.88 29.81-49.74 29.81-22.88 0-149.22-49.69-159.17-29.81-1.99 4.97 0 9.94-9.95 19.87-9.95 9.94-29.84-49.68-39.79-29.81-8.95 45.71 4.97 95.4 1.99 166.94-44.76-36.77-71.62-86.46-71.62-142.1 0-112.29 113.41-203.71 253.67-203.71 140.27-0.01 253.67 91.41 253.67 203.7z' fill='#2F2F2F'/><path d='M385.18 311.01c9.95-24.84-61.68-69.56-89.53-54.65-27.86 14.91-29.85 89.44-9.95 109.31 25.87 12.91 89.53-39.76 99.48-54.66zM706.5 369.64c6.96 1.99 13.93 1.99 18.9-0.99 19.9-19.87 18.9-102.35-0.99-112.29-30.84-15.9-108.43 32.79-98.48 57.64 6.96 9.94 37.8 37.76 65.66 50.68 2.98 0.99 6.96 1.99 9.95 2.98 0.98-0.01 2.97 0.98 4.96 1.98z' fill='#9FBAFF'/><path d='M705.5 369.64c-4.97-0.99-9.95-2.98-14.92-4.97 2.98 0.99 6.96 1.99 9.95 2.98 1.99 0 3.98 0.99 4.97 1.99z m-73.61 572.38c-38.8 10.93-78.59 16.89-120.37 16.89s-81.57-5.96-120.37-16.89c27.85-55.65 70.63-92.42 120.37-92.42 49.74 0 92.51 36.77 120.37 92.42z m0 0' fill='#9FBAFF'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.user.avatarGold,
        name: '金色的用户头像',
        category: [IconCategory.USER],
        path: `<path d='M263.41 537.56c-1.41-2.1-1.44-4.21 0-6.31v6.31z' fill='#F0CA9C'/><path d='M262.54 554.7c0.23-1.82-0.73-3.83 0.87-5.43v5.41c-0.28 0.4-0.57 0.41-0.87 0.02z' fill='#F2D2AB'/><path d='M262.54 554.7c0.29-0.01 0.58-0.02 0.87-0.02v4.51c-0.28 0-0.56 0.02-0.84 0.05l-0.03-4.54z' fill='#F7E2C8'/><path d='M183.24 546.52c0-66.58 28.85-128.19 75.6-175.89-6.96-77.51 0.99-123.22 23.88-137.13 23.87-14.9 64.66 2.98 121.36 53.66 31.83-8.94 66.65-13.91 102.46-13.91 33.82 0 66.65 3.97 97.49 12.92 59.69-53.66 101.47-72.54 126.34-57.64 23.88 14.91 30.84 61.61 22.88 141.11 47.75 47.7 76.6 109.31 76.6 176.88 0 87.45-48.74 164.96-123.35 214.64 42.78 18.88 80.57 44.72 112.41 75.52 86.54-81.48 140.26-196.75 140.26-324.94 0-247.44-199.95-447.17-447.65-447.17S63.87 264.3 63.87 511.74c0 128.19 53.72 243.46 140.26 324.94 30.84-28.81 66.65-53.66 106.44-72.54-77.59-49.69-127.33-129.18-127.33-217.62z m0 0' fill='#FFF9E6'/><path d='M829.85 546.52c0-67.57-28.85-129.18-76.6-176.88 7.96-79.49 0-127.19-22.88-141.11-23.87-14.9-66.65 3.97-126.34 57.64-30.84-7.95-63.67-12.92-97.49-12.92-35.81 0-69.64 4.97-102.46 13.91-57.7-50.68-98.48-68.57-121.36-53.66-22.88 13.91-30.84 59.62-23.88 137.13-47.75 47.7-75.6 109.31-75.6 175.89 0 88.44 49.74 167.94 127.33 217.62-40.79 18.88-76.6 43.72-106.44 72.54 51.73 49.69 116.39 86.46 187.02 106.33 27.85-56.64 70.63-93.41 120.37-93.41 49.73 0 92.51 36.77 120.37 92.42 71.62-19.87 135.29-56.64 187.02-106.33-31.84-29.81-69.63-55.65-112.41-75.52 74.6-48.7 123.35-126.2 123.35-213.65zM307.59 363.68c-3.98 0.99-6.96 2.98-9.95 4.97-3.98 0-7.96 0-10.94-1.99-19.9-19.87-17.91-94.4 9.95-109.31 27.85-14.9 99.48 29.81 89.53 54.65-6.96 9.94-38.79 37.76-66.65 50.68-4.98-0.99-9.95 0-11.94 1z m101.47 380.59c-11.94-3.98-22.88-8.95-33.83-13.92 8.95-5.96 16.91-14.91 23.88-27.82 2.98-5.96 5.97-11.92 7.96-18.88 1 6.96 1 14.91 1.99 21.86v38.76z m286.49-387.55c-18.9-15.9-41.78-27.83-65.65-37.76-1.99-1.99-3.98-3.97-4.97-5.96-9.95-24.84 67.64-73.53 98.48-57.64 19.9 9.94 20.89 92.42 0.99 112.29-4.97 1.99-9.95 1.99-16.91 0.99l-11.94-11.92z m0 0' fill='#FFD700'/><path d='M720.42 581.3c-20.89 6.96-27.85-56.64-45.76-54.65-16.91 0.99-23.87 57.64-33.82 57.64-19.9 0-39.79-32.79-59.69-42.73-82.57-40.74-23.88 29.81-49.74 29.81-22.88 0-149.22-49.69-159.17-29.81-1.99 4.97 0 9.94-9.95 19.87-9.95 9.94-29.84-49.68-39.79-29.81-8.95 45.71 4.97 95.4 1.99 166.94 45.76 37.76 110.42 61.61 182.05 61.61 96.49 0 180.05-42.73 222.83-106.33-4.97-53.66 19.9-101.36-8.95-72.54z m-298.43 89.43c-10.94 0-19.89-12.92-19.89-29.81s8.95-29.81 19.89-29.81c10.94 0 19.89 12.92 19.89 29.81s-8.95 29.81-19.89 29.81z m179.06 0c-10.94 0-19.9-12.92-19.9-29.81s8.95-29.81 19.9-29.81c10.94 0 19.89 12.92 19.89 29.81s-8.95 29.81-19.89 29.81z m0 0' fill='#FFC2B0'/><path d='M581.15 640.92c0 16.47 8.91 29.81 19.9 29.81 10.99 0 19.89-13.34 19.89-29.81s-8.91-29.81-19.89-29.81c-10.99 0-19.9 13.35-19.9 29.81z m0 0M402.1 640.92c0 10.65 3.79 20.49 9.95 25.82 6.16 5.32 13.74 5.32 19.89 0 6.16-5.33 9.95-15.17 9.95-25.82 0-16.47-8.91-29.81-19.89-29.81-11 0-19.9 13.35-19.9 29.81z m0 0' fill='#2F2F2F'/><path d='M760.21 556.45c0 34.78-10.94 68.57-30.84 97.39-5.97-53.66 19.9-101.36-8.95-72.54-20.89 6.96-27.85-56.64-45.76-54.65-16.91 0.99-23.87 57.64-33.82 57.64-19.9 0-39.79-32.79-59.69-42.73-82.57-40.74-23.88 29.81-49.74 29.81-22.88 0-149.22-49.69-159.17-29.81-1.99 4.97 0 9.94-9.95 19.87-9.95 9.94-29.84-49.68-39.79-29.81-8.95 45.71 4.97 95.4 1.99 166.94-44.76-36.77-71.62-86.46-71.62-142.1 0-112.29 113.41-203.71 253.67-203.71 140.27-0.01 253.67 91.41 253.67 203.7z' fill='#2F2F2F'/><path d='M385.18 311.01c9.95-24.84-61.68-69.56-89.53-54.65-27.86 14.91-29.85 89.44-9.95 109.31 25.87 12.91 89.53-39.76 99.48-54.66zM706.5 369.64c6.96 1.99 13.93 1.99 18.9-0.99 19.9-19.87 18.9-102.35-0.99-112.29-30.84-15.9-108.43 32.79-98.48 57.64 6.96 9.94 37.8 37.76 65.66 50.68 2.98 0.99 6.96 1.99 9.95 2.98 0.98-0.01 2.97 0.98 4.96 1.98z' fill='#FFEEA8'/><path d='M705.5 369.64c-4.97-0.99-9.95-2.98-14.92-4.97 2.98 0.99 6.96 1.99 9.95 2.98 1.99 0 3.98 0.99 4.97 1.99z m-73.61 572.38c-38.8 10.93-78.59 16.89-120.37 16.89s-81.57-5.96-120.37-16.89c27.85-55.65 70.63-92.42 120.37-92.42 49.74 0 92.51 36.77 120.37 92.42z m0 0' fill='#FFFACD'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.user.home,
        name: 'Home',
        category: [IconCategory.USER],
        path: `<path d='M512.546 86.050c0 0-12.561-0.546-24.030 7.1-12.015 8.192-462.029 380.109-462.029 380.109s-32.768 25.668 2.731 70.997 74.82 3.823 74.82 3.823l407.962-359.356 414.515 364.817c0 0 36.591 30.583 70.451-11.469 33.86-42.598-3.277-72.090-3.277-72.090l-121.242-99.942v-175.309h-164.932v39.868l-168.209-139.81c0 0-10.923-9.83-26.761-8.738z'/><path d='M512.546 241.152l-410.146 357.171v300.919l333.141 0.546v-246.306l152.917 1.638v244.122l333.141 0.546v-300.919z'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.auth.logout,
        name: '退出登录',
        category: [IconCategory.USER, IconCategory.AUTH],
        path: `<path d='M684.16 523.52c-132.48 40.32-228.48 165.76-228.48 313.6 0 13.44 0.64 26.88 2.56 39.68H48c0-241.92 178.56-438.4 399.36-438.4-118.4 0-215.04-97.92-215.04-218.88C232.32 97.92 328.96 0 447.36 0 566.4 0 662.4 97.92 662.4 219.52c0 120.96-96 218.88-215.04 218.88 88.96 0 170.24 32 236.8 85.12z m77.44 63.36c118.4 0 214.4 97.92 214.4 218.24 0 120.96-96 218.88-214.4 218.88S547.2 926.08 547.2 805.12c0-120.32 96-218.24 214.4-218.24z m40.96 222.72l80-81.28c10.24-10.88 10.24-27.52 0-38.4a27.072 27.072 0 0 0-37.76 0l-79.36 81.28-80-81.28a26.24 26.24 0 0 0-37.12 0c-10.24 10.88-10.24 27.52 0 38.4l79.36 81.28-79.36 80.64c-10.24 10.88-10.24 28.16 0 38.4a25.6 25.6 0 0 0 18.56 7.68c7.04 0 14.08-2.56 18.56-7.68l80-81.28 79.36 81.28a27.072 27.072 0 0 0 37.76 0c10.24-10.24 10.24-27.52 0-38.4z' fill='#FF5733'/>`,
        metadata: {
          size: 18,
          format: IconFormatType.svg,
        },
      },
      {
        id: ICON_IDS.role.visitor,
        name: '游客',
        category: [IconCategory.USER, IconCategory.ROLE],
        path: `<path d='M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z' fill='${this.DEFAULT_FILL_COLOR}'/><path d='M392.715636 319.639273a77.498182 77.498182 0 1 0-77.498181 77.486545 77.521455 77.521455 0 0 0 77.498181-77.486545z m135.598546 38.749091a58.112 58.112 0 1 0-58.112-58.112 58.181818 58.181818 0 0 0 58.112 58.112z m193.722182-77.486546a58.112 58.112 0 1 0 58.181818 58.112 58.181818 58.181818 0 0 0-58.181818-58.112z m-197.899637 116.968727c-46.650182-0.733091-99.723636 6.469818-142.219636 44.125091s-37.236364 131.735273 22.888727 157.032728 73.425455 68.968727 57.309091 123.345454 11.380364 100.933818 80.162909 100.933818c118.551273 0 160.395636-111.080727 160.395637-235.52 0-135.330909-53.189818-188.020364-178.536728-189.928727z m0 0' fill='#FFFFFF'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.role.author,
        name: '作者',
        category: [IconCategory.USER, IconCategory.ROLE],
        path: `<path d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.role.developer,
        name: '开发者',
        category: [IconCategory.USER, IconCategory.ROLE],
        path: `<path d='M286.281143 344.649143a191.488 191.488 0 1 1 270.774857-270.848 191.488 191.488 0 0 1-270.774857 270.848zM840.045714 634.075429h0z' fill='#e0e0e0'/><path d='M511.049143 894.683429l44.178286-245.613715a18.285714 18.285714 0 0 1 17.993142-14.994285h266.825143A224.914286 224.914286 0 0 0 618.788571 446.390857H545.28l-124.269714 214.308572-124.342857-214.308572H224.548571A224.768 224.768 0 0 0 0 670.208v224.475429h2.194286c4.973714 26.770286 24.502857 50.102857 52.297143 58.953142l112.932571 35.474286a76.068571 76.068571 0 0 0 95.085714-50.102857v-0.585143c4.681143-14.774857 4.534857-29.988571 0.365715-43.739428h248.173714z m-356.352-69.485715V691.712h22.235428v140.361143l-22.235428-7.021714z' fill='#e0e0e0'/><path d='M556.032 972.068571l48.054857-268.434285a18.285714 18.285714 0 0 1 17.993143-15.067429h380.050286a18.285714 18.285714 0 0 1 17.993143 21.504l-53.174858 296.228572H334.774857l6.363429-34.304h214.893714z' fill='#e0e0e0'/>`,
      },
      {
        id: ICON_IDS.role.creator,
        name: '创建者',
        category: [IconCategory.USER, IconCategory.ROLE],
        path: `<path d='M719.258 274.33c-243.712 0-393.728 279.552-448.512 444.928h342.528l-7.68-4.096c-19.456-7.68-39.424-11.776-62.976-11.776h-197.12c-11.776 0-23.552 0-35.328 4.096l74.752-125.952h82.432c82.432 0 137.728-216.576 251.904-307.2z' fill='#ffffff'/><path d='M572.826 23.45l26.112 26.112c34.816 30.208 103.936 60.416 151.552 65.024l38.912 4.096c47.616 4.096 90.624 47.616 90.624 95.232l4.096 38.912c4.096 47.616 30.208 116.736 60.416 155.648l21.504 30.208c30.208 38.912 30.208 95.232 0 134.144l-26.112 26.112c-30.208 34.816-60.416 103.936-65.024 151.552l-4.096 38.912c-4.096 47.616-47.616 90.624-95.232 90.624l-38.4 4.096c-47.616 4.096-116.736 30.208-155.648 60.416l-30.208 21.504c-38.912 30.208-95.232 30.208-134.144 0l-26.112-26.112c-34.816-30.208-103.936-60.416-151.552-65.024l-38.912-4.096c-47.616-4.096-90.624-47.616-90.624-95.232l-4.096-38.912c-4.096-47.616-30.208-116.736-60.416-155.648L23.45 551.322a110.592 110.592 0 0 1 0-134.144l26.112-26.112c30.208-34.816 60.416-103.936 65.024-151.552l4.096-38.912c4.096-47.616 47.616-90.624 95.232-90.624l38.912-4.096c47.616-4.096 116.736-30.208 155.648-60.416l30.208-22.016a110.592 110.592 0 0 1 134.144 0z m146.432 250.88c-243.712 0-393.728 279.552-448.512 444.928h342.528l-7.68-4.096c-19.456-7.68-39.424-11.776-62.976-11.776h-197.12c-11.776 0-23.552 0-35.328 4.096l74.752-125.952h82.432c82.432 0 137.728-216.576 251.904-307.2z' fill='#008e56'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.role.creatorNormal,
        name: '创建者',
        category: [IconCategory.USER, IconCategory.ROLE],
        path: `<path d='M719.258 274.33c-243.712 0-393.728 279.552-448.512 444.928h342.528l-7.68-4.096c-19.456-7.68-39.424-11.776-62.976-11.776h-197.12c-11.776 0-23.552 0-35.328 4.096l74.752-125.952h82.432c82.432 0 137.728-216.576 251.904-307.2z' fill='#ffffff'/><path d='M572.826 23.45l26.112 26.112c34.816 30.208 103.936 60.416 151.552 65.024l38.912 4.096c47.616 4.096 90.624 47.616 90.624 95.232l4.096 38.912c4.096 47.616 30.208 116.736 60.416 155.648l21.504 30.208c30.208 38.912 30.208 95.232 0 134.144l-26.112 26.112c-30.208 34.816-60.416 103.936-65.024 151.552l-4.096 38.912c-4.096 47.616-47.616 90.624-95.232 90.624l-38.4 4.096c-47.616 4.096-116.736 30.208-155.648 60.416l-30.208 21.504c-38.912 30.208-95.232 30.208-134.144 0l-26.112-26.112c-34.816-30.208-103.936-60.416-151.552-65.024l-38.912-4.096c-47.616-4.096-90.624-47.616-90.624-95.232l-4.096-38.912c-4.096-47.616-30.208-116.736-60.416-155.648L23.45 551.322a110.592 110.592 0 0 1 0-134.144l26.112-26.112c30.208-34.816 60.416-103.936 65.024-151.552l4.096-38.912c4.096-47.616 47.616-90.624 95.232-90.624l38.912-4.096c47.616-4.096 116.736-30.208 155.648-60.416l30.208-22.016a110.592 110.592 0 0 1 134.144 0z m146.432 250.88c-243.712 0-393.728 279.552-448.512 444.928h342.528l-7.68-4.096c-19.456-7.68-39.424-11.776-62.976-11.776h-197.12c-11.776 0-23.552 0-35.328 4.096l74.752-125.952h82.432c82.432 0 137.728-216.576 251.904-307.2z' fill='#35caf0'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.role.vipUser,
        name: '平台 VIP 用户',
        category: [IconCategory.USER, IconCategory.ROLE],
        path: (theme?: ThemeType | undefined) => {
          const config = VIP_USER_ICON_COLOR_CONFIG[theme || 'light']
          return `<path d='M232.96 257.647816h543.985287a83.273563 83.273563 0 0 1 69.267127 37.075862l155.247816 232.754023-490.431264 495.227586L20.597701 527.477701l141.447356-230.194023a83.273563 83.273563 0 0 1 70.914943-39.665287v0.029425z' fill='${config.diamond.base}'/><path d='M186.37977 257.647816h635.115402l179.965058 269.829885-489.577931-5.002299h-1.706667L20.597701 527.477701z' fill='${config.diamond.highlight}'/><path d='M258.383448 517.914483l252.645518 500.229885 252.645517-500.229885z' fill='${config.lightning.bottom}'/><path d='M258.383448 522.475402l254.822989-264.827586 250.468046 264.827586z' fill='${config.lightning.top}'/><path d='M560.169195 387.030805L412.601379 505.114483a21.333333 21.333333 0 0 0-1.235862 32.250115l51.494253 48.051494a38.982621 38.982621 0 0 1 10.122299 41.636782l-33.368276 93.454712a14.212414 14.212414 0 0 0 22.245517 15.889655l147.597242-118.083678a21.333333 21.333333 0 0 0 1.235862-32.220689l-51.494253-48.08092a39.017931 39.017931 0 0 1-10.122299-41.636782l33.368276-93.454712a14.212414 14.212414 0 0 0-22.245517-15.889655h-0.029426z' fill='${config.lightning.base}'/><path d='M630.848736 77.623908a27.60092 27.60092 0 0 0 3.766436 28.689655l-2.913103 12.152644a55.113563 55.113563 0 0 1-108.549885-8.386207l-2.736552-34.398161c13.241379-8.798161 21.068506-25.129195 17.272644-42.872644a40.665747 40.665747 0 1 0-61.999081 42.902069l-2.765977 34.368736a55.113563 55.113563 0 0 1-108.549885 8.386207l-2.883678-12.152644a27.60092 27.60092 0 0 0 3.766437-28.689655 27.806897 27.806897 0 1 0-36.605058 36.781609l24.687817 174.344828h289.309425l24.717241-174.374253a27.571494 27.571494 0 0 0 16.066207-20.597701 27.65977 27.65977 0 0 0-52.582988-16.183908v0.029425z' fill='${config.crown.left}'/><path d='M654.447816 61.292874a27.65977 27.65977 0 0 0-19.832644 45.020689l-2.913103 12.152644a55.113563 55.113563 0 0 1-108.549885-8.386207l-2.736552-34.398161c13.241379-8.798161 21.068506-25.129195 17.272644-42.872644a40.430345 40.430345 0 0 0-39.724138-31.602758v287.602758H642.648276v-0.088275l24.717241-174.315403a27.571494 27.571494 0 0 0 16.066207-20.597701 27.689195 27.689195 0 0 0-28.983908-32.514942z' fill='${config.crown.right}'/><path d='M340.068046 61.086897a27.806897 27.806897 0 1 1 0 55.613793 27.806897 27.806897 0 0 1 0-55.613793z m316.145287 0.029425a27.777471 27.777471 0 1 1 0 55.554942 27.777471 27.777471 0 0 1 0-55.554942zM498.081839 0a41.077701 41.077701 0 1 1 0 82.155402 41.077701 41.077701 0 0 1 0-82.155402z' fill='${config.crown.jewel}'/>`
        },
      },
    ]

    userIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册元数据图标
   */
  private registerMetadataIcons(): void {
    const userIcons: IconConfig[] = [
      {
        id: ICON_IDS.metadata.logo,
        name: 'Logo',
        category: [IconCategory.METADATA],
        path: `<path d='M877.696 0H146.303C65.475 0 0 65.54 0 146.304V877.76c0 80.764 65.469 146.24 146.31 146.24h731.398c80.822 0 146.304-65.476 146.304-146.24V146.304C1024 65.54 958.537 0 877.696 0z' fill='#F3BB44'/><path d='M519.872 472.08l-73.07-22.05a20.432 20.372 90 0 1-13.916-25.726 20.563 20.503 90 0 1 7.983-10.631l93.486-64.226a20.344 20.285 90 0 0 8.943-17.02l-1.483-111.126a20.869 20.808 90 0 1 20.852-20.825 21.657 21.594 90 0 1 12.912 4.069l91.785 66.5a21.788 21.725 90 0 0 19.412 2.976l108.448-35.7a21.35 21.288 90 0 1 26.785 12.862 19.907 19.849 90 0 1 0 13.169L785.236 369.659a19.994 19.936 90 0 0 3.097 18.857l68.49 89.12a20.125 20.067 90 0 1-4.32 28.7 21.657 21.594 90 0 1-12.912 4.07l-114.469-1.4a21.438 21.376 90 0 0-17.536 8.662l-66.09 90.782a21.657 21.594 90 0 1-29.49 4.9 20.563 20.503 90 0 1-7.983-10.675l-21.201-66.195-267.937 300.348a77.132 76.909 90 0 1-110.018 3.807 71.401 71.194 90 0 1 3.926-106.796l311.08-261.76z m-278.014-3.85c-43.492 0-78.828-34.3-78.828-76.564s35.336-76.564 78.828-76.564c43.58 0 78.872 34.3 78.872 76.564s-35.335 76.564-78.872 76.564z m183.176-218.754c-24.865 0-45.063-19.6-45.063-43.75s20.198-43.75 45.063-43.75c24.866 0 45.063 19.6 45.063 43.75s-20.197 43.75-45.063 43.75zM750.99 796.36c-43.536 0-78.828-34.3-78.828-76.563s35.292-76.564 78.828-76.564 78.872 34.3 78.872 76.564-35.336 76.563-78.872 76.563z' fill='#FFFFFF'/>`,
        metadata: {
          size: 256,
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.metadata.id,
        name: 'ID',
        category: [IconCategory.METADATA],
        path: `<path d='M316.3136 347.8784l43.4304 0 0 328.2304-43.4304 0 0-328.2304Z'/><path d='M655.9744 376.0896c-13.2864-11.3408-29.3376-19.1744-48.1408-23.5008-13.4272-3.136-32.9088-4.7104-58.432-4.7104l-113.0752 0 0 328.2304 118.4384 0c19.8528 0 37.4272-1.856 52.736-5.5936 15.296-3.7376 28.352-9.216 39.1808-16.4608 10.816-7.2448 20.7872-17.1776 29.888-29.7856 9.1008-12.608 16.5632-28.544 22.4-47.7952 5.824-19.264 8.7296-41.344 8.7296-66.2784 0-29.248-4.288-55.2704-12.864-78.0288C686.2336 409.4208 673.28 390.72 655.9744 376.0896zM654.2848 572.7872c-5.7472 17.3824-13.76 31.232-24.064 41.536-7.3216 7.3088-17.1264 12.992-29.44 17.024-12.3136 4.032-29.2992 6.0416-50.944 6.0416l-70.08 0L479.7568 386.6112l68.9664 0c25.8304 0 44.544 2.24 56.2048 6.72 16.1152 6.272 29.8112 18.624 41.088 37.056 11.264 18.4448 16.9088 44.8256 16.9088 79.1424C662.912 534.3104 660.032 555.4048 654.2848 572.7872z'/><path d='M512 51.2C257.5104 51.2 51.2 257.5104 51.2 512c0 254.4896 206.3104 460.8 460.8 460.8s460.8-206.3104 460.8-460.8C972.8 257.5104 766.4896 51.2 512 51.2zM512 951.8592C269.4656 951.8592 72.1408 754.5344 72.1408 512 72.1408 269.4656 269.4656 72.1408 512 72.1408S951.8592 269.4656 951.8592 512C951.8592 754.5344 754.5344 951.8592 512 951.8592z'/>`,
      },
      {
        id: ICON_IDS.metadata.index,
        name: '索引',
        category: [IconCategory.METADATA],
        path: `<path d='M933.933489 392.327772a38.459877 38.459877 0 0 0 38.35759-38.35759 38.459877 38.459877 0 0 0-38.35759-38.35759h-205.187534L757.488576 42.813412A38.613307 38.613307 0 0 0 723.171318 0.210916 38.562164 38.562164 0 0 0 680.773396 34.732747l-29.151769 280.879845H413.395422l28.486904-272.79918A38.562164 38.562164 0 0 0 407.769642 0.210916a38.562164 38.562164 0 0 0-42.142205 34.317257l-29.407486 281.084419H90.066511a38.459877 38.459877 0 0 0-38.35759 38.35759 38.51102 38.51102 0 0 0 38.35759 38.35759h238.175062l-24.958006 238.635352H90.066511a38.35759 38.35759 0 1 0 0 76.71518h205.187534L266.511424 980.477484a38.35759 38.35759 0 1 0 76.71518 8.080665l29.356342-280.879845h238.226206l-28.486904 272.79918a38.35759 38.35759 0 1 0 76.254889 8.080665l29.407486-280.879845h245.948866a38.35759 38.35759 0 0 0 0-76.71518h-238.175062l24.958006-238.635352z m-315.299389 238.635352H380.407895l24.958005-238.635352h238.226205z' fill='#00C080'/>`,
      },
    ]

    userIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册导航图标
   */
  private registerNavigationIcons(): void {
    const navigationIcons: IconConfig[] = [
      {
        id: ICON_IDS.navigation.arrowsDown,
        name: '向下箭头',
        category: [IconCategory.NAVIGATION],
        path: `<path d='M8 10l4 4 4-4z'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.navigation.arrowsUp,
        name: '向上箭头',
        category: [IconCategory.NAVIGATION],
        path: `<path d='M8 14l4-4 4 4z'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.navigation.arrowsLeft,
        name: '向左箭头',
        category: [IconCategory.NAVIGATION],
        path: `<path d='M14 8l-4 4 4 4z'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.navigation.arrowsRight,
        name: '向右箭头',
        category: [IconCategory.NAVIGATION],
        path: `<path d='M10 8l4 4-4 4z'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
    ]

    navigationIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册操作图标
   */
  private registerActionIcons(): void {
    const actionIcons: IconConfig[] = [
      {
        id: ICON_IDS.action.fold,
        name: '折叠',
        category: [IconCategory.ACTION],
        path: `<path d='M512 0h256v1024H512C370.624 1024 256 909.376 256 768V256C256 114.624 370.624 0 512 0z' fill='#646464' fill-opacity='.3'/><path d='M580.096 285.717333l-211.2 211.2a21.333333 21.333333 0 0 0 0 30.165334l211.2 211.2a21.333333 21.333333 0 0 0 30.186667-30.186667L414.165333 512l196.117334-196.096a21.333333 21.333333 0 0 0-30.186667-30.186667z' fill='#191919'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.action.close,
        name: '关闭',
        category: [IconCategory.ACTION],
        path: `<path d='M800 832c-8 0-16-3.2-22.4-9.6l-576-576c-12.8-12.8-12.8-32 0-44.8 12.8-12.8 32-12.8 44.8 0l576 576c12.8 12.8 12.8 32 0 44.8-6.4 6.4-14.4 9.6-22.4 9.6z m-576 0c-8 0-16-3.2-22.4-9.6-12.8-12.8-12.8-32 0-44.8l576-576c12.8-12.8 32-12.8 44.8 0 12.8 12.8 12.8 32 0 44.8l-576 576C240 828.8 232 832 224 832z'/>`,
        metadata: {
          size: 16,
          format: IconFormatType.svg,
        },
      },
      {
        id: ICON_IDS.action.search,
        name: '搜索',
        category: [IconCategory.ACTION],
        path: `<path d=\'M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.action.install,
        name: '安装',
        category: [IconCategory.ACTION],
        path: `<path d='M640 725.333333h85.333333v85.333334h-85.333333z' fill='#ff7400'/><path d='M853.333333 85.333333h-213.333333v85.333334h170.666667v426.666666H213.333333V170.666667h170.666667V85.333333H170.666667c-25.6 0-42.666667 17.066667-42.666667 42.666667v768c0 25.6 17.066667 42.666667 42.666667 42.666667h682.666666c25.6 0 42.666667-17.066667 42.666667-42.666667V128c0-25.6-17.066667-42.666667-42.666667-42.666667z m-42.666666 768H213.333333v-170.666666h597.333334v170.666666z' fill='#d4237a'/><path d='M512 469.333333l170.666667-170.666666h-128V85.333333h-85.333334v213.333334H341.333333z' fill='#1afa29'/>`,
      },
      {
        id: ICON_IDS.action.download,
        name: '下载',
        category: [IconCategory.ACTION],
        path: `<path d=\'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\'/><polyline points=\'7 10 12 15 17 10\'/><line x1=\'12\' y1=\'15\' x2=\'12\' y2=\'3\'/>`,
        metadata: {
          viewBox: '0 0 24 24',
          attributes: {
            'stroke': '',
            'stroke-width': '2',
            'stroke-linecap': 'round',
            'stroke-linejoin': 'round',
          },
        },
      },
      {
        id: ICON_IDS.action.copy,
        name: '复制',
        category: [IconCategory.ACTION],
        path: `<path d=\'M817.322667 704H704v-113.322667a35.968 35.968 0 1 0-72.021333 0V704h-105.301334a35.968 35.968 0 1 0 0 72.021333h105.344v105.301334a35.968 35.968 0 1 0 71.978667 0v-105.301334h113.322667a35.968 35.968 0 1 0 0-72.021333z m57.770666-316.885333L597.12 106.666667a77.44 77.44 0 0 0-14.805333-11.52 60.928 60.928 0 0 0-4.394667-2.261334c-0.938667-0.512-1.92-0.896-2.816-1.28A72.362667 72.362667 0 0 0 546.005333 85.333333h-346.026666C160.256 85.333333 128 117.546667 128 157.354667v709.333333C128 906.410667 160.213333 938.666667 200.021333 938.666667h211.968a35.968 35.968 0 1 0 0-72.021334H199.978667V157.354667H512v240.042666c0 39.765333 32.213333 71.978667 72.021333 71.978667h239.957334v155.989333a35.968 35.968 0 1 0 72.021333 0v-187.477333c0-19.029333-7.509333-37.205333-20.906667-50.730667z m-291.114666 10.24V195.712l199.808 201.642667h-199.808z\'></path>`,
      },
      {
        id: ICON_IDS.action.run,
        name: '运行',
        category: [IconCategory.ACTION],
        path: `<path d=\'M512 0a512 512 0 1 0 512 512 512.585143 512.585143 0 0 0-512-512z m0 945.225143A433.225143 433.225143 0 1 1 945.225143 512 433.737143 433.737143 0 0 1 512 945.225143z\'></path><path d=\'M445.147429 263.899429a42.203429 42.203429 0 0 0-66.998858 34.157714v448.073143a42.203429 42.203429 0 0 0 66.998858 34.084571l308.077714-224.036571a42.203429 42.203429 0 0 0 0-68.242286L445.147429 263.972571z\'></path>`,
      },
      {
        id: ICON_IDS.action.follow,
        name: '关注',
        category: [IconCategory.ACTION],
        path: `<path d=\'M16 11c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.action.view,
        name: '查看',
        category: [IconCategory.ACTION],
        path: `<path d=\'M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.action.viewAll,
        name: '查看全部',
        category: [IconCategory.ACTION],
        path: `<path d='M512 0a512 512 0 1 1 0 1024A512 512 0 0 1 512 0z m0 85.333333a426.666667 426.666667 0 1 0 0 853.333334A426.666667 426.666667 0 0 0 512 85.333333z m0 362.666667a64 64 0 1 1 0 128 64 64 0 0 1 0-128z m213.333333 0a64 64 0 1 1 0 128 64 64 0 0 1 0-128z m-426.666666 0a64 64 0 1 1 0 128 64 64 0 0 1 0-128z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.action.star,
        name: '收藏',
        category: [IconCategory.ACTION],
        path: `<path d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/>`,
        metadata: {
          viewBox: '0 0 24 24',
        },
      },
      {
        id: ICON_IDS.action.jumpTo,
        name: '跳转',
        category: [IconCategory.ACTION],
        path: `<path d='M512 2.3C230.9 2.3 2.2 230.9 2.2 512s228.7 509.8 509.8 509.8 509.8-228.7 509.8-509.8S793.1 2.3 512 2.3z m0 934.5C277.8 936.8 87.2 746.2 87.2 512S277.8 87.2 512 87.2c234.2 0 424.8 190.6 424.8 424.8S746.2 936.8 512 936.8z'/><path d='M765.8 483L593.7 328.4c-14.2-12.4-35.7-11.1-48.3 2.9-12.6 14-11.6 35.5 2.3 48.3l110.4 99.2H270.2c-8.5 0-16.2 3.4-21.7 9-5.6 5.6-9 13.2-9 21.7 0 17 13.8 30.7 30.7 30.7h388.4L547.2 644.5c-13.4 13.1-13.9 34.5-1.1 48.1 12.8 13.7 34.2 14.6 48.1 2.1l172.1-161.1c7.1-6.6 11-15.8 10.9-25.5-0.1-9.5-4.2-18.7-11.4-25.1z m-74 26.2c0-0.1 0-0.1 0 0z'/>`,
      },
      {
        id: ICON_IDS.action.refresh,
        name: '刷新',
        category: [IconCategory.ACTION],
        path: `<path d='M688 766.272a301.376 301.376 0 0 1-204.8 54.656c-3.392-0.32-6.72-0.896-10.176-1.344-6.528-0.896-13.056-1.728-19.392-3.008a220.672 220.672 0 0 1-11.648-2.688 261.376 261.376 0 0 1-18.496-4.8c-2.88-0.896-5.76-1.92-8.704-2.944a298.176 298.176 0 0 1-25.28-9.728 292.48 292.48 0 0 1-23.36-11.456l-1.024-0.512a311.744 311.744 0 0 1-89.152-74.432c-1.216-1.472-2.368-3.136-3.584-4.672a311.168 311.168 0 0 1-67.264-193.472h71.168a5.12 5.12 0 0 0 4.544-2.752 4.992 4.992 0 0 0-0.256-5.248L161.088 322.24a5.12 5.12 0 0 0-8.64 0L32.896 503.872c-1.024 1.472-1.216 3.52-0.256 5.248s2.688 2.752 4.544 2.752h71.168c0 86.016 26.496 165.696 71.424 231.552 0.576 0.96 0.96 1.92 1.536 2.816 4.672 6.72 9.856 12.992 14.848 19.392 1.856 2.368 3.648 4.864 5.568 7.232 7.36 9.088 15.168 17.472 23.232 25.856l2.24 2.304a397.888 397.888 0 0 0 122.752 84.8l7.424 3.328c8.512 3.584 17.344 6.72 26.112 9.728 4.16 1.408 8.256 2.88 12.48 4.16 7.744 2.304 15.616 4.224 23.552 6.144 5.312 1.28 10.496 2.624 15.936 3.648 2.176 0.512 4.288 1.152 6.528 1.472 7.488 1.344 14.976 2.112 22.528 3.008l8.064 1.152a397.12 397.12 0 0 0 271.104-71.936 49.408 49.408 0 0 0 11.904-68.224 48.064 48.064 0 0 0-67.584-12.032m227.776-254.4a409.856 409.856 0 0 0-71.104-231.04c-0.704-1.152-1.152-2.304-1.792-3.264a428.928 428.928 0 0 0-17.664-23.04l-2.112-2.752a399.68 399.68 0 0 0-150.656-114.624 161.28 161.28 0 0 1-4.8-2.24 502.976 502.976 0 0 0-28.352-10.56c-3.648-1.152-7.04-2.432-10.624-3.456a377.856 377.856 0 0 0-25.344-6.656c-4.672-1.088-9.408-2.304-14.208-3.264-2.368-0.448-4.544-1.152-6.912-1.6-6.4-1.152-12.8-1.6-19.2-2.432-4.352-0.576-8.768-1.28-13.184-1.728a413.568 413.568 0 0 0-32-1.6c-1.92 0-3.84-0.32-5.824-0.32a397.312 397.312 0 0 0-231.488 73.92 49.408 49.408 0 0 0-11.968 68.288 48.128 48.128 0 0 0 67.584 11.968 302.464 302.464 0 0 1 205.12-54.656l8.128 1.152c7.36 0.832 14.592 1.92 21.696 3.328 3.136 0.576 6.272 1.408 9.344 2.112 6.976 1.6 14.016 3.328 20.8 5.376l6.4 2.24c7.808 2.56 15.424 5.312 22.976 8.512l2.368 1.088c45.12 19.648 84.736 49.92 115.648 87.808l0.576 0.768a311.04 311.04 0 0 1 69.696 196.736h-71.104a5.12 5.12 0 0 0-4.288 8l119.616 181.568a5.12 5.12 0 0 0 8.576 0l119.488-181.568a5.12 5.12 0 1 0-4.288-8h-71.104v-0.064z m0 0'/>`,
      },
      {
        id: ICON_IDS.action.report,
        name: '举报',
        category: [IconCategory.ACTION],
        path: `<path d='M939.008 216.704l-57.856 67.84c0 0-49.856 55.232-55.872 103.744C517.12 295.424 158.848 386.304 158.848 386.304S148.352 338.88 134.912 312.448c-13.44-26.432-46.016-79.04-51.904-91.776C77.184 207.936 91.008 198.72 91.008 198.72S470.528 7.808 512 7.168s414.208 188.544 425.024 193.536C947.84 205.76 939.008 216.704 939.008 216.704zM591.872 156.864 432.192 156.864l0 85.824c0 0-3.008 39.744 79.808 73.856 76.8-33.344 79.808-75.84 79.808-75.84L591.808 156.864zM192.768 531.968c1.856-28.416 16.832-56.512 23.104-67.264-11.392-11.264-17.152-18.56-17.152-18.56 274.176-104.704 619.072-14.592 624.512 0 0.128 0.576-3.776 5.824-11.584 13.952 8.064 20.416 19.584 71.872 19.584 71.872s68.608 33.728 69.824 125.696c1.216 91.968-113.728 143.68-113.728 143.68S734.336 993.664 512 1016.832c-224.96-27.968-275.328-219.456-275.328-219.456s-109.44-38.592-111.744-137.664C124.544 637.952 116.416 562.112 192.768 531.968zM282.56 739.456c0 0 55.744 189.44 229.44 209.536 157.12-15.488 221.504-201.536 221.504-201.536s127.296-30.4 89.792-127.68c-22.464 20.8-65.792 11.712-63.872-23.936 2.24-40.512-3.712-70.272-8-85.696-54.272 36.8-137.728 75.392-245.376 73.728C400.64 582.208 321.344 544.448 269.696 508.928 267.2 517.76 260.224 547.008 262.592 593.792 259.776 651.264 201.6 630.144 200.768 621.76 165.056 714.688 282.56 739.456 282.56 739.456z'/>`,
      },
    ]

    actionIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册交互图标
   */
  private registerInterfaceIcons(): void {
    const interfaceIcons: IconConfig[] = [
      {
        id: ICON_IDS.interface.pageTop,
        name: '第一页',
        category: [IconCategory.INTERFACE],
        path: `<path d='M132.283 959.444c-35.796 0-65.083-29.287-65.083-65.083V129.64c0-35.796 29.287-65.083 65.083-65.083s65.083 29.287 65.083 65.083V894.36c0 35.796-29.288 65.083-65.083 65.083z m176.944-401.683l559.508 391.717c17.084 12 39.456 13.423 57.964 3.864 18.508-9.762 30.101-28.677 30.101-49.625V120.08c0-20.949-11.593-40.067-30.1-49.626-18.509-9.355-40.88-8.135-57.965 3.864L309.023 466.035c-14.847 10.576-23.796 27.66-23.796 45.965 0 18.305 8.95 35.389 24 45.761z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pagePrev,
        name: '上一页',
        category: [IconCategory.INTERFACE],
        path: `<path d='M258.65855 488.101707c-0.596588 1.154289-1.561565 2.119267-2.084475 3.310396-10.239202 21.304212-6.886851 47.367821 11.244089 64.497966l411.076425 388.799143c22.415522 21.190625 57.753355 20.182668 78.981842-2.199085 21.188578-22.415522 20.216437-57.753355-2.199085-78.979796L377.754708 512.000512l368.841509-348.920808c22.194488-21.415752 22.864754-56.752562 1.455141-78.980819-10.949376-11.398608-25.581632-17.092283-40.21798-17.092283-13.960966 0-27.928073 5.210675-38.762839 15.637142L258.65855 488.101707z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageNext,
        name: '下一页',
        category: [IconCategory.INTERFACE],
        path: `<path d='M765.34145 535.898293c0.596588-1.154289 1.561565-2.119267 2.084475-3.310396 10.239202-21.304212 6.886851-47.367821-11.244089-64.497966L345.105411 79.286788c-22.415522-21.190625-57.753355-20.182668-78.981842 2.199085-21.188578 22.415522-20.216437 57.753355 2.199085 78.979796l368.841509 348.920808L269.777795 863.482143c-22.194488 21.415752-22.864754 56.752562-1.455141 78.980819 10.949376 11.398608 25.581632 17.092283 40.21798 17.092283 13.960966 0 27.928073-5.210675 38.762839-15.637142l407.348522-392.601656c0.784876-0.778736 1.080611-1.860371 1.863441-2.679016 0.596588-0.561795 1.227967-0.971118 1.824555-1.564635C761.506099 543.755238 763.182274 539.697829 765.34145 535.898293L765.34145 535.898293zM765.34145 535.898293' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageEnd,
        name: '最后一页',
        category: [IconCategory.INTERFACE],
        path: `<path d='M891.717 64.556c35.796 0 65.083 29.287 65.083 65.083v764.721c0 35.796-29.287 65.083-65.083 65.083s-65.083-29.287-65.083-65.083V129.639c0-35.796 29.287-65.083 65.083-65.083zm-176.944 401.683L155.265 74.522c-17.084-12-39.456-13.423-57.964-3.864-18.508 9.762-30.101 28.677-30.101 49.625v783.838c0 20.949 11.593 40.067 30.1 49.626 18.509 9.355 40.88 8.135 57.965-3.864l559.508-391.717c14.847-10.576 23.796-27.66 23.796-45.965 0-18.305-8.95-35.389-24-45.761z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageMore,
        name: '加载更多',
        category: [IconCategory.INTERFACE],
        path: `<path d='M495.104 937.728c4.608 4.352 10.496 6.656 16.896 6.656s12.544-2.304 16.896-6.656m0.256 0l454.912-435.712c19.968-19.2 18.688-50.944-1.28-70.144-19.968-18.944-52.224-19.2-72.192 0L512.256 813.056 113.664 431.872c-19.968-19.2-52.224-18.944-72.192 0-19.968 19.2-21.248 50.944-1.28 70.144l454.912 435.712h34.048z m0 0' fill='${this.DEFAULT_FILL_COLOR}'/><path d='M494.848 599.808c4.608 4.352 10.496 6.656 16.896 6.656s12.544-2.304 16.896-6.656m0.256 0L983.808 164.096c19.968-19.2 18.688-50.944-1.28-70.144-19.968-18.944-52.224-19.2-72.192 0L511.744 475.136 113.408 93.696c-19.968-19.2-52.224-18.944-72.192 0-19.968 19.2-21.248 50.944-1.28 70.144l454.912 435.712h34.048z m0 0' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageAll,
        name: '加载全部',
        category: [IconCategory.INTERFACE],
        path: `<path d='M981.99294 313.494827c-25.677906-60.829215-62.574315-115.425928-109.442727-162.29434-46.868411-46.868411-101.465125-83.76482-162.29434-109.442727C647.307608 15.207304 580.495192 1.7451 511.563725 1.7451c-68.931467 0-135.868533 13.462203-198.692149 40.13731-60.829215 25.677906-115.425928 62.574315-162.294339 109.442727S66.812416 252.665612 41.13451 313.494827C14.459404 376.443092 0.9972 443.380158 0.9972 512.311625S14.459404 648.180158 41.13451 711.003774c25.677906 60.829215 62.574315 115.425928 109.442727 162.294339 46.868411 46.868411 101.465125 83.64017 162.294339 109.442727 62.948265 26.675107 129.885332 40.13731 198.692149 40.13731 68.931467 0 135.868533-13.462203 198.692148-40.13731 60.829215-25.677906 115.425928-62.574315 162.29434-109.442727 46.868411-46.868411 83.64017-101.465125 109.442727-162.294339C1008.543396 648.055508 1022.13025 581.118442 1022.13025 512.311625c0-68.931467-13.462203-135.868533-40.13731-198.816798zM511.563725 951.079732c-241.945709 0-438.768107-196.822398-438.768107-438.768107s196.822398-438.768107 438.768107-438.768107 438.768107 196.822398 438.768107 438.768107c0 241.821059-196.822398 438.768107-438.768107 438.768107z m0 0' fill='${this.DEFAULT_FILL_COLOR}'/><path d='M318.356178 719.604626L477.409617 305.517225h59.084114l169.399391 413.962751h-62.449665l-48.239562-125.397931H422.065003l-45.497261 125.397931h-58.211564z m119.414729-170.022642h140.355934l-43.25356-114.678028C521.785027 400.126598 511.937675 371.457091 505.580523 349.020085c-5.235301 26.550456-12.714303 52.851613-22.312355 79.02812l-45.497261 121.533779z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageBatch,
        name: '批量加载',
        category: [IconCategory.INTERFACE],
        path: `<path d='M512 958.016611c-119.648434 0-232.1288-46.367961-316.736783-130.559656-84.640667-84.255342-131.263217-196.255772-131.263217-315.455235 0-119.168499 46.624271-231.199892 131.232254-315.424271 84.607983-84.191695 197.088348-130.559656 316.736783-130.559656s232.1288 46.367961 316.704099 130.559656c84.67163 84.224378 131.263217 196.255772 131.263217 315.391587 0.032684 119.199462-46.591587 231.232576-131.263217 315.455235C744.1288 911.615966 631.648434 958.016611 512 958.016611zM512 129.983389c-102.623626 0-199.071738 39.743475-271.583282 111.936783-72.480581 72.12794-112.416718 168.063432-112.416718 270.079828s39.903454 197.951888 112.384034 270.047144c72.511544 72.191587 168.959656 111.936783 271.583282 111.936783 102.592662 0 199.071738-39.743475 271.583282-111.936783 72.480581-72.160624 112.416718-168.063432 112.384034-270.079828 0-102.016396-39.903454-197.919204-112.384034-270.016181C711.071738 169.759548 614.592662 129.983389 512 129.983389z' fill='${this.DEFAULT_FILL_COLOR}'/><path d='M736.00086 480.00086 544.00086 480.00086 544.00086 288.00086c0-17.664722-14.336138-32.00086-32.00086-32.00086s-32.00086 14.336138-32.00086 32.00086l0 192L288.00086 480.00086c-17.664722 0-32.00086 14.336138-32.00086 32.00086s14.336138 32.00086 32.00086 32.00086l192 0 0 192c0 17.695686 14.336138 32.00086 32.00086 32.00086s32.00086-14.303454 32.00086-32.00086L544.00258 544.00086l192 0c17.695686 0 32.00086-14.336138 32.00086-32.00086S753.696546 480.00086 736.00086 480.00086z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageCancel,
        name: '取消加载',
        category: [IconCategory.INTERFACE],
        path: `<path d='M512 128c211.2 0 384 172.8 384 384s-172.8 384-384 384-384-172.8-384-384 172.8-384 384-384m0-64C262.4 64 64 262.4 64 512s198.4 448 448 448 448-198.4 448-448-198.4-448-448-448z' fill='${this.DEFAULT_FILL_COLOR}'/><path d='M646.4 332.8L512 467.2 377.6 332.8c-12.8-12.8-32-12.8-44.8 0s-12.8 32 0 44.8L467.2 512l-134.4 134.4c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l134.4 134.4c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l134.4-134.4c12.8-12.8 12.8-32 0-44.8s-32-12.8-44.8 0z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.interface.pageScrollLoad,
        name: '滚动加载',
        category: [IconCategory.INTERFACE],
        path: `<path d='M476.798467 1023.994957a330.572385 330.572385 0 0 1-332.40635-332.406351v-343.868639a330.343139 330.343139 0 0 1 660.686277 0v343.868639a330.572385 330.572385 0 0 1-328.279927 332.406351z m0-962.832188a288.849656 288.849656 0 0 0-286.557198 286.557198v343.868639a288.849656 288.849656 0 0 0 577.240821 0v-343.868639a288.849656 288.849656 0 0 0-290.683623-286.557198z'/><path d='M786.280242 427.955983H167.316693a22.924576 22.924576 0 0 1 0-45.849152h298.019486V38.238193h45.849152v343.868638h275.094911z'/>`,
      },
      {
        id: ICON_IDS.interface.pageNoScrollLoad,
        name: '禁用滚动加载',
        category: [IconCategory.INTERFACE],
        path: `<path d='M476.798467 1023.994957a330.572385 330.572385 0 0 1-332.40635-332.406351v-343.868639a330.343139 330.343139 0 0 1 660.686277 0v343.868639a330.572385 330.572385 0 0 1-328.279927 332.406351z m0-962.832188a288.849656 288.849656 0 0 0-286.557198 286.557198v343.868639a288.849656 288.849656 0 0 0 577.240821 0v-343.868639a288.849656 288.849656 0 0 0-290.683623-286.557198z'/><path d='M786.280242 427.955983H167.316693a22.924576 22.924576 0 0 1 0-45.849152h298.019486V38.238193h45.849152v343.868638h275.094911z'/><path d='M80.891041 29.801949l34.799507-29.801949 825.284732 962.832188-34.799506 29.893647z'/>`,
      },
    ]

    interfaceIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册开发相关图标
   */
  private registerDevelopmentIcons(): void {
    const devIcons: IconConfig[] = [
      {
        id: ICON_IDS.development.donate,
        name: '捐赠',
        category: [IconCategory.DEVELOPMENT],
        path: `<path d='M950.487827 0H73.358596C32.86547 0 0.051192 47.557666 0 106.121682v811.756636C0 976.442334 32.86547 1023.948808 73.358596 1024h877.129231c40.493126 0 73.307404-47.557666 73.358596-106.121682V106.275259c0-58.564015-32.86547-106.275259-73.358596-106.275259z m43.257511 917.724741c0 34.554817-19.350697 62.505824-43.257511 62.557017H73.358596c-23.855622 0-43.206319-28.0022-43.257511-62.557017V106.275259c0-34.554817 19.350697-62.505824 43.257511-62.557017h877.129231c23.855622 0 43.206319 28.0022 43.257511 62.557017z' fill='#00529C'/><path d='M150.351847 575.145728a379.232715 379.232715 0 0 0 106.889567 14.896966 404.112183 404.112183 0 0 0 110.06349-15.357697 26.364045 26.364045 0 0 0 20.476929-25.033045 127.008149 127.008149 0 0 0-96.59991-122.19607 70.543019 70.543019 0 0 0 39.878818-62.966555 72.385942 72.385942 0 0 0-144.771884 0 70.594211 70.594211 0 0 0 39.878818 62.966555 127.059341 127.059341 0 0 0-96.59991 122.19607c-0.102385 15.86962 11.569465 21.244813 20.784082 25.493776z m50.93636-210.809978a57.3354 57.3354 0 1 1 57.335399 56.311553 56.772284 56.772284 0 0 1-57.335399-56.311553z m57.335399 73.512173a112.981453 112.981453 0 0 1 114.056492 111.650452c0 3.583462-1.279808 7.73004-10.238464 11.211119a394.488027 394.488027 0 0 1-104.944259 14.589811 363.875019 363.875019 0 0 1-101.156026-13.770734c-9.726541-4.504924-11.569465-6.39904-11.569465-12.030196A113.032645 113.032645 0 0 1 258.572414 437.847923z m193.097436-118.151877c0 4.044193 6.757386 7.371694 15.050542 7.371694h391.621257c8.293156 0 15.050542-3.327501 15.050542-7.371694s-6.757386-7.371694-15.050542-7.371695h-391.621257c-8.293156 0-15.050542 3.327501-15.050542 7.371695z m0 117.742338c0 4.044193 6.757386 7.371694 15.050542 7.371694h391.621257c8.293156 0 15.050542-3.327501 15.050542-7.371694s-6.757386-7.371694-15.050542-7.371694h-391.621257c-8.293156 0.204769-15.050542 3.481078-15.050542 7.576464z m0 117.742339c0 4.044193 6.757386 7.371694 15.050542 7.371694h391.621257c8.293156 0 15.050542-3.327501 15.050542-7.371694s-6.757386-7.371694-15.050542-7.371694h-391.621257c-8.293156 0.358346-15.050542 3.685847-15.050542 7.73004z m-316.163776 117.742339c0 4.044193 6.757386 7.371694 15.050543 7.371694h707.785032c8.293156 0 15.050542-3.327501 15.050542-7.371694s-6.757386-7.371694-15.050542-7.371695H150.556617c-8.241964 0.563116-15.050542 3.890616-15.050543 7.93481z' fill='#00529C'/>`,
        metadata: {
          size: 256,
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.development.update,
        name: '更新',
        category: [IconCategory.DEVELOPMENT],
        path: `<polyline points='23 4 23 10 17 10'/><polyline points='1 20 1 14 7 14'/><path d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/>`,
        metadata: {
          viewBox: '0 0 24 24',
          attributes: {
            'stroke': '',
            'stroke-width': '2',
            'stroke-linecap': 'round',
            'stroke-linejoin': 'round',
          },
        },
      },
      {
        id: ICON_IDS.development.version,
        name: '版本',
        category: [IconCategory.DEVELOPMENT],
        path: `<path d='M992.373524 338.19749a23.084397 23.084397 0 0 0-2.555468-6.814582 84.160089 84.160089 0 0 1-5.962759-14.821717l-0.851823-0.511093a175.305126 175.305126 0 0 0-14.480987-29.643432 167.638721 167.638721 0 0 0-146.513516-78.53806 162.272237 162.272237 0 0 0-139.698934 69.423556l-5.110937 8.518228-169.51273 359.298843-166.10544-358.702567a49.831632 49.831632 0 0 0-66.442176-23.93622 50.51309 50.51309 0 0 0-24.70286 66.101447l174.623667 375.227929v0.511093A101.02618 101.02618 0 0 0 511.093661 768.112441a94.807874 94.807874 0 0 0 80.07134-66.016265l174.623667-369.605899A12.521795 12.521795 0 0 0 766.640491 331.382908a57.072125 57.072125 0 0 1 55.36848-24.447314h0.851823a70.530925 70.530925 0 0 1 59.627593 26.747235 10.47742 10.47742 0 0 0 3.407291 4.514661 125.303129 125.303129 0 0 1 5.96276 13.714346c2.555468 5.707213 5.110937 12.521795 8.518227 19.336377a450.614244 450.614244 0 0 1 22.999215 138.932294 408.19347 408.19347 0 0 1-410.578574 411.685943A390.816286 390.816286 0 0 1 221.47392 801.674258a383.320245 383.320245 0 0 1-121.810656-290.386382 396.012405 396.012405 0 0 1 120.10701-292.601121 380.253683 380.253683 0 0 1 233.399438-115.592349 609.394008 609.394008 0 0 1 111.588783 0 517.397149 517.397149 0 0 1 101.366909 23.851037 49.405721 49.405721 0 0 0 38.332025-1.703645 48.127986 48.127986 0 0 0 25.554683-27.854605v-3.236926a47.53171 47.53171 0 0 0-1.703646-35.861739 50.087179 50.087179 0 0 0-28.110151-25.554683A587.75771 587.75771 0 0 0 570.721254 3.175595a680.691574 680.691574 0 0 0-127.773415 0 481.024317 481.024317 0 0 0-293.878855 145.746876 514.415769 514.415769 0 0 0 0 724.049352A494.057205 494.057205 0 0 0 511.093661 1022.637084a508.708557 508.708557 0 0 0 511.09366-511.093661 569.273156 569.273156 0 0 0-29.813797-173.090386z m0 0' fill='#1287E7'/>`,
      },
      {
        id: ICON_IDS.development.python,
        name: 'Python',
        category: [IconCategory.DEVELOPMENT],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M350.72 104.448c39.424-19.968 84.48-25.6 128-27.648 31.744-3.072 63.488 0 94.72 2.56 39.936 5.12 81.408 14.336 114.176 38.912 20.48 15.872 36.864 39.424 36.864 66.048-0.512 68.096 0 136.192-0.512 204.288 0 29.696-11.264 59.904-33.792 79.872-22.016 18.944-50.688 28.16-79.36 29.696H392.704c-28.672 0.512-58.368 8.704-79.872 29.184-26.112 24.576-37.376 61.44-36.352 96.768 0 33.792 0.512 67.584 0 101.376-26.112 0-52.224 0.512-78.336 0-34.816-1.536-65.024-23.552-83.968-51.712-27.648-43.008-35.328-94.72-37.376-144.896 0-8.192-2.56-17.408 1.536-25.6-3.072-5.632-1.024-12.8-1.024-18.944 2.56-47.616 11.776-97.792 41.984-136.192 23.552-31.232 63.488-49.152 102.912-47.104 96.768 0.512 193.536 0 289.792 0v-27.136H301.568c0-35.328-0.512-70.656-0.512-105.984 2.56-29.184 25.6-50.688 49.664-63.488m29.696 43.52c-26.112 9.216-31.232 48.64-8.192 64 22.016 16.896 57.856 0 58.368-27.648 3.072-25.6-26.624-47.104-50.176-36.352z' fill='#3774A7'/><path d='M750.592 294.912h65.024c31.744-2.56 63.488 12.288 84.48 35.84 32.768 37.376 42.496 87.552 48.64 135.168v85.504c-5.632 47.104-17.408 97.28-51.712 132.096-23.04 22.528-55.296 36.352-87.552 34.816-98.304-0.512-196.608 0-295.424 0v27.136h210.432c0 34.304 0 68.096 0.512 102.4 1.024 27.136-18.944 49.152-40.96 62.464-41.472 24.576-91.136 28.672-137.728 32.768H491.008c-48.128-4.096-98.816-9.216-141.312-35.328-26.112-15.36-46.592-43.008-47.616-73.728 0.512-68.096-0.512-136.192 0.512-204.288 0.512-28.16 10.24-56.832 31.232-76.288 23.04-21.504 54.784-31.232 86.016-32.768h215.04c29.696 0 60.416-9.728 80.896-31.232 23.04-23.04 33.28-55.808 34.304-88.064 0.512-34.816 0-70.656 0.512-106.496m-128 507.904c-9.216 3.072-17.92 9.216-22.528 17.92-10.24 18.944-0.512 45.568 20.48 51.712 22.016 9.216 49.664-10.24 48.128-34.304 2.56-23.04-24.064-43.008-46.08-35.328z' fill='#FFD140'/>`,
        match: {
          link: /^https:\/\/python.org/,
        },
      },
    ]

    devIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册工具相关图标
   */
  private registerToolIcons(): void {
    const toolIcons: IconConfig[] = [
      {
        id: ICON_IDS.tool.pycharm,
        name: 'PyCharm',
        category: [IconCategory.TOOL],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M572.8 579.2h156.8l179.2 49.6 108.8-219.2-299.2-248-145.6 417.6z' fill='#07C3F2'/><path d='M438.4 0l-376 156.8L0 819.2l206.4-22.4 147.2-62.4 4.8-105.6L416 323.2 668.8 152z' fill='#21D789'/><path d='M288 388.8L0 819.2 350.4 1024l94.4-110.4L416 323.2z' fill='#FCF84A'/><path d='M761.6 0L448 280h355.2z' fill='#21D789'/><path d='M464 280l-48 43.2-120 582.4 416 116.8 312-107.2L896 432l-201.6 78.4 24-254.4z' fill='#FCF84A'/><path d='M192 832h640V192H192z' fill='#000000'/><path d='M256 752h240v-40H256v40z m103.68-342.848A41.152 41.152 0 0 0 405.44 368c0-26.88-17.92-41.152-46.848-41.152h-44.8v83.072l45.888-0.832zM256 272h107.392C426.112 272 464 310.4 464 366.08v0.832c0 62.848-47.168 96-106.24 96h-44.032V544H256V272z m227.072 136.96A134.72 134.72 0 0 1 621.44 271.808c39.04-1.92 77.12 12.992 104.448 40.96l-37.12 42.88a97.92 97.92 0 0 0-67.84-29.888A78.592 78.592 0 0 0 544 407.488a78.528 78.528 0 0 0 76.8 83.392 96 96 0 0 0 69.76-31.04l37.12 37.632a135.872 135.872 0 0 1-108.8 48 134.08 134.08 0 0 1-136-136.512' fill='#FFFFFF'/>`,
        match: {
          link: /^https:\/\/www.jetbrains.com.cn\/pycharm/,
        },
      },
      {
        id: ICON_IDS.tool.docker,
        name: 'Docker',
        category: [IconCategory.TOOL],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M699.88718 472.6h-132.2v-118.8h132.2v118.8z m0-408.6h-132.2v121.4h132.2V64z m156.4 289.6H724.08718v118.8h132.2v-118.8z m-312.6-144.2h-132.2v120.2h132.2v-120.2z m156.2 0h-132.2v120.2h132.2v-120.2z m553.6 200c-28.8-19.4-95.2-26.4-146.2-16.8-6.6-48-33.4-89.8-82.2-127.4l-28-18.6-18.6 28c-36.8 55.6-46.8 147.2-7.4 207.6-17.4 9.4-51.6 22.2-96.8 21.4H4.88718c-17.4 101.6 11.6 233.6 88 324.2 74.2 87.8 185.4 132.4 330.8 132.4 314.8 0 547.8-145 656.8-408.4 42.8 0.8 135.2 0.2 182.6-90.4 3-5 13.2-26.4 17-34.2l-26.6-17.8z m-1022.2-55.8h-132v118.8h132.2v-118.8z m156.2 0h-132.2v118.8h132.2v-118.8z m156.2 0h-132.2v118.8h132.2v-118.8z m-156.2-144.2h-132.2v120.2h132.2v-120.2z' fill='#1296db'/>`,
        metadata: {
          viewBox: '0 0 1280 1024',
        },
        match: {
          link: /^https:\/\/www.docker.com/,
        },
      },
      {
        id: ICON_IDS.tool.xunlei,
        name: '迅雷',
        category: [IconCategory.TOOL],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M3.258 240.635C4.241 124.603 81.487 2.665 233.582 2.192c152.092-0.51 416.83 0 555.651 1.455 138.747 1.455 232.294 93.891 232.294 239.426 0 145.538 0.472 385.001 0.472 535.457 0 150.451-97.957 244.38-262.805 243.356-164.848-0.945-362.733 0.514-508.88 0-146.15-0.469-243.632-78.667-246.546-252.208-2.99-173.54-1.496-413.008-0.51-529.043z' fill='#3475ED'/><path d='M80.19 219.764c48.703 17.231 181.818 76.468 187.96 168.666 0 34.654-10.318 50.154-9.332 95.384 0.238 61.205 36.185 126.617 86.62 166.185 53.39 45.238 149.612 76.702 200.401 117.57 58.47 38.037 175.363 158.99 175.363 158.99S634.31 717.105 588.087 639.693c74.294-41.3 357.77-80.633 357.77-80.633-25.83-25.33-168.552-88.501-253.946-87.556 41.102-63.406 120.593-181.41 120.593-181.41l-27.56 4.172c34.922-75.208 73.784-135.193 109.73-183.609-154.064 40.785-315.722 126.1-461.873 245.087-21.415-32.45-75.787-102.27-141.501-100.577-25.826 0-34.961 1.493-51.655 11.093-47.993-20.651-110.242-42.557-159.459-46.496z' fill='#FCFCFC'/>`,
        match: {
          link: /^https:\/\/xunlei.com/,
        },
      },
      {
        id: ICON_IDS.aiTool.ollama,
        name: 'Ollama',
        category: [IconCategory.TOOL, IconCategory.AI_TOOL],
        tag: [IconTag.ARTICLE_LINK],
        path: `<path d='M287.8976 79.616c-42.3936 25.6-68.7616 117.9648-59.1872 205.568l3.584 34.816-19.968 19.968c-64.8192 64-81.2032 163.2256-40.448 243.2l10.8544 21.248-10.0352 24.7808c-25.9584 65.2288-23.9616 144.0256 4.4032 200.8064l11.6224 22.784-7.168 14.848c-16.4352 33.5872-24.4224 107.52-14.848 141.1584l3.9936 15.2064h60.416l-3.1744-13.2096c-2.048-6.8096-3.584-30.7712-3.584-52.7872 0-37.9904 0.768-41.6256 15.1552-71.5776 7.9872-17.2032 14.848-34.4064 14.848-38.0416 0-3.584-5.632-15.5648-12.8-26.7776-35.6352-55.6032-36.4544-123.5968-2.816-190.4128 14.7968-29.5936 14.336-38.8096-2.048-58.7776-22.3744-26.4192-33.1776-69.2224-26.368-104.448 9.5744-50.3808 40.3968-92.7744 81.9712-112.384 20.0192-9.5744 29.184-11.5712 54.784-11.5712h31.232l7.9872-16.0256c18.432-36.352 50.432-61.5936 93.5936-73.984 55.6032-16.384 124.416 14.7968 154.8288 70.4l9.5744 17.6128 34.048 1.9968c57.9584 3.9936 93.184 27.1872 118.3744 77.9776 25.6 52.0192 22.4256 107.2128-8.3968 147.6096-17.2032 22.4256-17.2032 32-2.4064 61.5936 33.5872 66.816 32.768 134.8096-2.816 190.4128-7.168 11.2128-12.8 23.1936-12.8 26.7776s6.8096 20.8384 14.848 37.9904c14.336 30.0032 15.1552 33.6384 15.1552 71.6288 0 22.016-1.5872 45.9776-3.584 52.7872l-3.2256 13.2096h60.416l3.9936-14.848c9.6256-33.9456 1.6384-107.9296-14.7968-141.568l-7.168-14.7968 11.5712-22.784c28.416-56.832 30.4128-135.5776 3.9936-201.6256l-9.984-25.1904 10.752-22.016c24.064-49.5616 27.2384-108.7488 8.0384-164.7616-10.752-32-25.1904-54.784-50.7904-79.2064l-17.2032-17.2032 3.584-34.816c7.2192-65.9968-8.7552-148.3776-35.584-183.6032-21.1968-27.9552-49.6128-36.352-79.2064-23.9616-27.1872 11.1616-50.7904 51.5584-61.952 106.3936-5.2224 26.0096-8.0384 31.5904-12.8 29.5936-34.048-15.616-60.416-21.6064-94.8224-21.6064-35.2256 0-53.248 4.4032-93.184 21.6064-4.8128 1.9968-7.68-3.584-12.8-29.5936-11.264-54.784-34.816-95.232-62.0544-106.3936-18.3808-8.0384-41.1648-6.8096-55.6032 1.9968z m45.6192 73.5744c16.0256 32.768 27.1872 110.7968 17.6128 125.2352-1.5872 2.3552-13.6192 5.5808-26.8288 7.168-13.1584 1.5872-27.136 3.584-30.7712 4.8128-6.4 1.9968-7.168-1.5872-7.168-37.2224 0-21.6064 2.7648-50.3808 5.9392-64.4096 7.2192-29.952 20.8384-57.9584 27.2384-55.552 2.4064 0.768 8.8064 9.984 13.9776 19.968z m384.8192-5.1712c12.8 24.7808 19.968 62.7712 19.968 105.5744 0 30.8224-1.1776 38.8096-5.1712 37.2224-3.2256-1.2288-17.6128-3.2256-32-4.8128-32-3.584-33.2288-5.632-29.5936-54.016 3.584-43.1616 23.1936-99.9936 35.1744-99.9936 2.048 0 7.168 7.168 11.6224 16.0256z' fill='#000000'/><path d='M453.5296 479.5904c-44.8 18.0224-75.2128 47.616-85.6064 83.6096-15.616 54.016 8.3968 101.2224 64.4096 127.5904 22.784 10.3936 27.1872 11.2128 79.9744 11.2128 52.7872 0 57.1904-0.8192 80.0256-11.2128 41.1648-19.2 64-47.9744 68.7616-86.3744 5.2224-46.4384-23.9616-92.416-73.984-117.248-24.3712-12.3904-30.0032-13.1584-70.8096-13.9776-35.1744-0.768-47.616 0.4096-62.7712 6.4z m101.9904 38.8096c9.984 3.2256 26.4192 13.2096 36.4032 22.016 35.2256 31.232 37.9904 68.4032 6.8096 96.768-21.6064 19.6096-40.0384 24.832-86.4256 24.832-46.3872 0-64.768-5.2224-86.3744-24.832-31.232-28.3648-28.416-65.536 6.8096-96.768 9.984-8.8064 25.6-18.432 34.816-22.016 22.3744-7.5776 65.1776-7.9872 87.9616 0z' fill='#000000'/><path d='M480.768 558.7968c-5.632 5.632-2.048 25.1904 5.12 30.0032 4.8128 3.584 8.448 11.2128 9.216 21.1968 1.2288 15.616 1.6384 16.0256 17.2032 16.0256 15.616 0 16.0256-0.4096 16.384-15.2064 0-10.0352 3.2256-17.6128 8.8064-22.8352 9.6256-9.216 11.6224-20.7872 4.0448-26.7776-5.632-4.4032-56.832-5.9904-60.8256-2.4064zM311.8592 480.4096c-18.432 9.216-28.0064 44.8-16.384 60.0064 7.168 9.216 20.7872 15.5648 33.9968 15.5648 17.2032 0 36.8128-23.1936 36.8128-43.1616 0-8.0384-2.4064-17.6128-5.2224-21.1968a40.96 40.96 0 0 0-49.152-11.264z m364.3904 0.4096c-12.8 7.168-17.5616 15.9744-17.9712 32 0 19.968 19.6096 43.1616 36.8128 43.1616 23.1936 0 38.7584-13.9776 39.168-35.1744 0-32.768-32-54.784-58.0096-39.9872z' fill='#000000'/>`,
        match: {
          link: /^https:\/\/ollama.com/,
        },
      },
    ]

    toolIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册媒体图标
   */
  private registerMediaIcons(): void {
    const mediaIcons: IconConfig[] = [
      {
        id: ICON_IDS.video.bilibili,
        name: '哔哩哔哩',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE, IconTag.ARTICLE_LINK],
        path: `<path d='M234.909 9.656a80.468 80.468 0 0 1 68.398 0 167.374 167.374 0 0 1 41.843 30.578l160.937 140.82h115.07l160.936-140.82a168.983 168.983 0 0 1 41.843-30.578A80.468 80.468 0 0 1 930.96 76.445a80.468 80.468 0 0 1-17.703 53.914 449.818 449.818 0 0 1-35.406 32.187 232.553 232.553 0 0 1-22.531 18.508h100.585a170.593 170.593 0 0 1 118.289 53.109 171.397 171.397 0 0 1 53.914 118.288v462.693a325.897 325.897 0 0 1-4.024 70.007 178.64 178.64 0 0 1-80.468 112.656 173.007 173.007 0 0 1-92.539 25.75h-738.7a341.186 341.186 0 0 1-72.421-4.024A177.835 177.835 0 0 1 28.91 939.065a172.202 172.202 0 0 1-27.36-92.539V388.662a360.498 360.498 0 0 1 0-66.789A177.03 177.03 0 0 1 162.487 178.64h105.414c-16.899-12.07-31.383-26.555-46.672-39.43a80.468 80.468 0 0 1-25.75-65.984 80.468 80.468 0 0 1 39.43-63.57M216.4 321.873a80.468 80.468 0 0 0-63.57 57.937 108.632 108.632 0 0 0 0 30.578v380.615a80.468 80.468 0 0 0 55.523 80.469 106.218 106.218 0 0 0 34.601 5.632h654.208a80.468 80.468 0 0 0 76.444-47.476 112.656 112.656 0 0 0 8.047-53.109v-354.06a135.187 135.187 0 0 0 0-38.625 80.468 80.468 0 0 0-52.304-54.719 129.554 129.554 0 0 0-49.89-7.242H254.22a268.764 268.764 0 0 0-37.82 0z m0 0' fill='#20B0E3'/><path d='M348.369 447.404a80.468 80.468 0 0 1 55.523 18.507 80.468 80.468 0 0 1 28.164 59.547v80.468a80.468 80.468 0 0 1-16.094 51.5 80.468 80.468 0 0 1-131.968-9.656 104.609 104.609 0 0 1-10.46-54.719v-80.468a80.468 80.468 0 0 1 70.007-67.593z m416.02 0a80.468 80.468 0 0 1 86.102 75.64v80.468a94.148 94.148 0 0 1-12.07 53.11 80.468 80.468 0 0 1-132.773 0 95.757 95.757 0 0 1-12.875-57.133V519.02a80.468 80.468 0 0 1 70.007-70.812z m0 0' fill='#20B0E3'/>`,
        metadata: {
          viewBox: '0 0 1129 1024',
        },
        match: {
          text: /哔哩哔哩|bilibili/,
          link: /^https:\/\/www.bilibili.com/,
        },
      },
      {
        id: ICON_IDS.video.youtube,
        name: 'Youtube',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.VIDEO_SOURCE, IconTag.ARTICLE_LINK],
        path: `<path d='M426.666667 682.666667V384l256 149.845333L426.666667 682.666667z m587.093333-355.541334s-10.026667-71.04-40.704-102.357333c-38.954667-41.088-82.602667-41.258667-102.613333-43.648C727.168 170.666667 512.213333 170.666667 512.213333 170.666667h-0.426666s-214.954667 0-358.229334 10.453333c-20.053333 2.389333-63.658667 2.56-102.656 43.648-30.677333 31.317333-40.661333 102.4-40.661333 102.4S0 410.538667 0 493.952v78.293333c0 83.456 10.24 166.912 10.24 166.912s9.984 71.04 40.661333 102.357334c38.997333 41.088 90.154667 39.765333 112.938667 44.074666C245.76 893.568 512 896 512 896s215.168-0.341333 358.442667-10.752c20.053333-2.432 63.658667-2.602667 102.613333-43.690667 30.72-31.317333 40.704-102.4 40.704-102.4s10.24-83.413333 10.24-166.869333v-78.250667c0-83.456-10.24-166.912-10.24-166.912z' fill='#FF0000'/>`,
        match: {
          link: /^https:\/\/youtube.com/,
        },
      },
      {
        id: ICON_IDS.video.haoKan,
        name: '好看视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M193.536 58.368c-4.096 1.024-9.216 2.048-13.312 3.072 5.12-1.024 9.216-2.048 13.312-3.072z m716.8 411.648s0-1.024 0 0c-1.024-2.048-1.024-2.048-1.024-3.072 0 1.024 0 1.024 1.024 3.072 0-1.024 0 0 0 0z' fill='#FDF9FB' opacity='.54'/><path d='M903.168 509.952c-6.144 7.168-14.336 12.288-24.576 14.336L563.2 581.632l-52.224 9.216c22.528-4.096 32.768-30.72 18.432-49.152l-1.024-1.024-129.024-153.6-33.792-40.96-187.392-221.184c-21.504-24.576-62.464-15.36-70.656 15.36 4.096-23.552 17.408-44.032 33.792-58.368l3.072-3.072 3.072-3.072 15.36-9.216c3.072-1.024 5.12-2.048 8.192-3.072s5.12-2.048 8.192-3.072c4.096-1.024 8.192-2.048 13.312-3.072 11.264-1.024 21.504-1.024 32.768 1.024 6.144 2.048 10.24 3.072 14.336 4.096 6.144 3.072 13.312 5.12 19.456 9.216l169.984 98.304 439.296 253.952c4.096 2.048 8.192 5.12 12.288 8.192 2.048 1.024 3.072 3.072 5.12 4.096h1.024l3.072 3.072 3.072 3.072 2.048 2.048c1.024 1.024 2.048 2.048 3.072 4.096 1.024 1.024 2.048 3.072 3.072 5.12 1.024 1.024 2.048 2.048 2.048 4.096 2.048 3.072 4.096 7.168 6.144 11.264 0 1.024 1.024 1.024 1.024 2.048v2.048c0 1.024 1.024 2.048 1.024 3.072v1.024c3.072 11.264 0 23.552-8.192 32.768z' fill='#EF8934'/><path d='M910.336 470.016s0-1.024 0 0c0-1.024 0 0 0 0z' fill='#EA342B' opacity='.54'/><path d='M918.528 517.12c0 2.048 0 4.096-1.024 6.144 0 2.048 0 3.072-1.024 5.12 0 2.048-1.024 5.12-1.024 7.168s-1.024 3.072-1.024 4.096c-1.024 3.072-2.048 5.12-2.048 8.192-1.024 2.048-1.024 3.072-2.048 5.12v1.024c-1.024 2.048-1.024 3.072-2.048 5.12-1.024 1.024-1.024 2.048-2.048 4.096s-2.048 4.096-3.072 5.12c-1.024 2.048-2.048 3.072-3.072 5.12-1.024 1.024-2.048 2.048-2.048 3.072-1.024 1.024-2.048 3.072-3.072 4.096-2.048 3.072-5.12 6.144-8.192 8.192-2.048 2.048-3.072 3.072-5.12 4.096-4.096 3.072-8.192 5.12-12.288 8.192L673.792 712.704 259.072 952.32c-16.384 9.216-33.792 14.336-51.2 14.336h-7.168c-2.048 0-5.12-1.024-7.168-1.024-24.576-4.096-39.936-30.72-30.72-54.272l99.328-275.456 18.432-50.176c-8.192 22.528 11.264 45.056 34.816 40.96l197.632-35.84 52.224-9.216 315.392-57.344c10.24-2.048 18.432-7.168 24.576-14.336 8.192-9.216 11.264-22.528 8.192-34.816v-1.024c0-1.024-1.024-2.048-1.024-3.072 4.096 15.36 7.168 30.72 6.144 46.08z' fill='#BD34F6'/><path d='M510.976 590.848l-197.632 35.84c-23.552 4.096-41.984-18.432-34.816-40.96l68.608-189.44c8.192-22.528 36.864-27.648 52.224-9.216l130.048 153.6 1.024 1.024c13.312 18.432 4.096 45.056-19.456 49.152z' fill='#FFFFFF'/><path d='M399.36 387.072c-15.36-18.432-44.032-12.288-52.224 9.216l-68.608 189.44-18.432 50.176-98.304 275.456c-8.192 23.552 6.144 50.176 30.72 54.272-16.384-2.048-30.72-8.192-44.032-17.408-2.048-1.024-3.072-2.048-5.12-4.096s-5.12-4.096-7.168-6.144c-1.024-1.024-2.048-2.048-4.096-3.072-1.024-1.024-2.048-2.048-3.072-4.096-1.024-1.024-2.048-2.048-2.048-3.072l-3.072-3.072c-2.048-3.072-4.096-6.144-6.144-10.24-1.024-1.024-1.024-2.048-2.048-4.096-4.096-8.192-7.168-17.408-9.216-27.648 0-2.048-1.024-3.072-1.024-5.12s-1.024-5.12-1.024-8.192v-716.8c0-3.072 1.024-6.144 1.024-9.216 0-1.024 0-2.048 1.024-4.096 8.192-30.72 49.152-39.936 70.656-15.36l187.392 221.184 34.816 41.984z' fill='#EA3228'/>`,
        match: {
          text: /好看视频/,
          link: /https:\/\/haokan.baidu.com/,
        },
      },
      {
        id: ICON_IDS.video.douYin,
        name: '抖音视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M0 0m184.32 0l655.36 0q184.32 0 184.32 184.32l0 655.36q0 184.32-184.32 184.32l-655.36 0q-184.32 0-184.32-184.32l0-655.36q0-184.32 184.32-184.32Z' fill='#111111'/><path d='M204.27776 670.59712a246.25152 246.25152 0 0 1 245.97504-245.97504v147.57888a98.49856 98.49856 0 0 0-98.38592 98.38592c0 48.34304 26.14272 100.352 83.54816 100.352 3.81952 0 93.55264-0.88064 93.55264-77.19936V134.35904h157.26592a133.31456 133.31456 0 0 0 133.12 132.99712l-0.13312 147.31264a273.152 273.152 0 0 1-142.62272-38.912l-0.06144 317.98272c0 146.00192-124.24192 224.77824-241.14176 224.77824-131.74784 0.03072-231.1168-106.56768-231.1168-247.92064z' fill='#FF4040'/><path d='M164.92544 631.23456a246.25152 246.25152 0 0 1 245.97504-245.97504v147.57888a98.49856 98.49856 0 0 0-98.38592 98.38592c0 48.34304 26.14272 100.352 83.54816 100.352 3.81952 0 93.55264-0.88064 93.55264-77.19936V94.99648h157.26592a133.31456 133.31456 0 0 0 133.12 132.99712l-0.13312 147.31264a273.152 273.152 0 0 1-142.62272-38.912l-0.06144 317.98272c0 146.00192-124.24192 224.77824-241.14176 224.77824-131.74784 0.03072-231.1168-106.56768-231.1168-247.92064z' fill='#00F5FF'/><path d='M410.91072 427.58144c-158.8224 20.15232-284.44672 222.72-154.112 405.00224 120.40192 98.47808 373.68832 41.20576 380.70272-171.85792l-0.17408-324.1472a280.7296 280.7296 0 0 0 142.88896 38.62528V261.2224a144.98816 144.98816 0 0 1-72.8064-54.82496 135.23968 135.23968 0 0 1-54.70208-72.45824h-123.66848l-0.08192 561.41824c-0.11264 78.46912-130.9696 106.41408-164.18816 30.2592-83.18976-39.77216-64.37888-190.9248 46.31552-192.57344z' fill='#FFFFFF'/>`,
        match: {
          text: /(抖音视频|抖音)/,
          link: /^https:\/\/(v.douyin.com|douyin.com)/,
        },
      },
      {
        id: ICON_IDS.video.soHu,
        name: '搜狐视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M441.6 646.4c0 12.8 0 25.6 12.8 32 12.8 6.4 25.6 0 32-6.4 76.8-51.2 160-102.4 236.8-153.6 25.6-19.2 25.6-44.8 0-64-76.8-44.8-153.6-102.4-230.4-147.2-6.4-6.4-19.2-6.4-19.2-6.4-19.2 0-25.6 6.4-25.6 32V384c-6.4 89.6-6.4 179.2-6.4 262.4' fill='#DA010C'/><path d='M166.4 524.8c6.4 0 6.4 0 0 0 0 19.2 6.4 64 57.6 108.8 0-12.8 0-51.2 19.2-83.2H256c0 12.8 25.6 57.6 76.8 83.2C262.4 499.2 300.8 332.8 435.2 256l6.4-6.4c-19.2-12.8-44.8-12.8-70.4-19.2-76.8 0-140.8 25.6-192 76.8l-6.4 12.8c-12.8 12.8-19.2 25.6-25.6 38.4-32 57.6-38.4 128-32 185.6 0 32 6.4 57.6 12.8 83.2 6.4-25.6 6.4-70.4 38.4-102.4z'/><path d='M902.4 428.8c-44.8-204.8-236.8-332.8-428.8-313.6-108.8 12.8-198.4 57.6-268.8 147.2-12.8 12.8-19.2 25.6-32 38.4 32-38.4 64-70.4 108.8-102.4 147.2-89.6 345.6-70.4 460.8 51.2 64 70.4 96 153.6 102.4 249.6 0 115.2-83.2 224-192 256-115.2 32-243.2-12.8-307.2-108.8V640c-57.6-25.6-83.2-70.4-96-83.2-19.2 38.4-19.2 83.2-19.2 83.2v6.4h-6.4c-51.2-44.8-64-89.6-64-108.8-25.6 32-25.6 96-25.6 108.8 64 172.8 230.4 281.6 422.4 262.4 236.8-25.6 396.8-249.6 345.6-480' fill='#DA010C'/>`,
        match: {
          text: /(搜狐视频|搜狐|sohu)/,
          link: /^https:\/\/tv.sohu.com/,
        },
      },
      {
        id: ICON_IDS.video.tencent,
        name: '腾讯视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M327.68 92.16c28.16-2.56 56.32 2.56 81.92 12.8 58.88 20.48 115.2 46.08 168.96 74.24 92.16 48.64 179.2 104.96 263.68 166.4 35.84 28.16 74.24 56.32 102.4 92.16 17.92 20.48 30.72 48.64 28.16 76.8-5.12 33.28-25.6 61.44-48.64 84.48-92.16 92.16-192 176.64-302.08 245.76-56.32 35.84-115.2 66.56-176.64 89.6-38.4 15.36-81.92 28.16-122.88 23.04-25.6-2.56-48.64-12.8-66.56-33.28-15.36-17.92-23.04-38.4-28.16-61.44v-2.56c17.92-5.12 35.84-10.24 56.32-15.36 76.8-20.48 153.6-53.76 225.28-89.6 76.8-40.96 151.04-87.04 220.16-140.8 23.04-17.92 48.64-35.84 58.88-64 10.24-20.48 7.68-46.08-5.12-64-12.8-23.04-33.28-40.96-51.2-56.32-23.04-17.92-48.64-35.84-74.24-48.64-48.64-30.72-99.84-56.32-151.04-84.48-58.88-30.72-120.32-56.32-181.76-76.8-28.16-7.68-56.32-17.92-84.48-25.6 2.56-12.8 7.68-25.6 12.8-38.4 15.36-35.84 43.52-58.88 74.24-64z' fill='#10ABF2'/><path d='M156.16 197.12c25.6-12.8 56.32-10.24 84.48-5.12-10.24 38.4-15.36 79.36-20.48 117.76 0 17.92-2.56 33.28-5.12 51.2-2.56 20.48-2.56 43.52-5.12 64 0 25.6-2.56 48.64-2.56 74.24-2.56 23.04 0 48.64-2.56 71.68 0 35.84 0 71.68 2.56 107.52 2.56 53.76 5.12 110.08 12.8 163.84v7.68c-25.6 5.12-56.32 10.24-79.36-7.68-23.04-17.92-30.72-48.64-38.4-76.8-12.8-84.48-20.48-176.64-20.48-268.8 0-48.64 5.12-94.72 12.8-140.8 5.12-38.4 12.8-76.8 25.6-112.64 5.12-20.48 17.92-38.4 35.84-46.08z' fill='#FF8F21'/><path d='M240.64 189.44h5.12c28.16 7.68 56.32 17.92 84.48 25.6 61.44 20.48 122.88 48.64 181.76 76.8 51.2 28.16 102.4 53.76 151.04 84.48 25.6 15.36 51.2 30.72 74.24 48.64 20.48 15.36 38.4 33.28 51.2 56.32 10.24 17.92 12.8 43.52 5.12 64-12.8 28.16-38.4 46.08-58.88 64-71.68 56.32-145.92 102.4-222.72 143.36-71.68 38.4-145.92 69.12-225.28 89.6-17.92 5.12-35.84 10.24-56.32 15.36-2.56 0-7.68 2.56-10.24 2.56 0-5.12 0-10.24-2.56-15.36-7.68-53.76-10.24-110.08-12.8-163.84-2.56-35.84-2.56-71.68-2.56-107.52 0-23.04 0-48.64 2.56-71.68 0-25.6 2.56-48.64 2.56-74.24 2.56-20.48 2.56-43.52 5.12-64 2.56-17.92 2.56-33.28 5.12-51.2 7.68-40.96 12.8-81.92 23.04-122.88m104.96 143.36c-10.24 2.56-15.36 15.36-15.36 25.6v317.44c0 10.24 2.56 23.04 10.24 25.6 10.24 2.56 20.48 0 28.16-7.68l215.04-153.6c10.24-7.68 17.92-17.92 17.92-30.72s-10.24-20.48-20.48-28.16c-71.68-48.64-145.92-97.28-217.6-145.92-2.56 0-10.24-5.12-17.92-2.56z' fill='#7DE621'/><path d='M345.6 332.8c7.68-2.56 15.36 2.56 20.48 5.12 71.68 48.64 145.92 97.28 217.6 145.92 10.24 5.12 20.48 15.36 20.48 28.16 0 12.8-7.68 23.04-17.92 30.72l-215.04 153.6c-7.68 5.12-17.92 10.24-28.16 7.68-10.24-5.12-12.8-17.92-10.24-25.6v-125.44c-2.56-48.64 0-94.72 0-143.36-2.56-15.36-2.56-30.72 0-48.64-2.56-12.8 2.56-25.6 12.8-28.16z' fill='#FFFFFF'/>`,
        match: {
          text: /(腾讯视频|qq.com)/,
          link: /^https:\/\/v.qq.com/,
        },
      },
      {
        id: ICON_IDS.video.xiGua,
        name: '西瓜视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M16.41116907 542.83866058V512.59617862C16.41116907 240.41384385 238.1893677 18.63564528 510.37170217 18.63564528S1004.33223623 240.41384385 1004.33223623 512.59617862s-221.77819907 493.96053409-493.96053406 493.96053385H490.21004783c-60.48496315-2.52020746-108.36889306-45.36372276-120.96992681-100.80827211-22.68186147-128.53054737-123.49013425-229.33881957-254.54088735-252.0206805-52.92434316-12.60103446-95.7678587-57.96475687-98.28806542-115.92951316v-7.56061982' fill='#FE163E'/><path d='M475.08880728 699.09148247c88.20723845-20.16165438 166.33364933-68.04558386 226.81861249-131.05075417 30.2424816-30.2424816 30.2424816-83.16682479 0-113.40930591-60.48496315-63.00517055-138.61137466-108.36889306-226.81861249-131.05075439-42.84351573-10.08082706-85.68703167 15.12124106-98.28806523 55.44454993s-17.64144821 85.68703167-17.64144774 131.05075376c0 45.36372276 7.56062073 88.20723845 17.64144774 131.05075366 12.60103446 42.84351573 55.44454944 68.04558386 98.28806523 57.96475712z' fill='#FFFFFF'/>`,
        match: {
          text: /(西瓜视频)/,
          link: /^http:\/\/www.ixigua.com/,
        },
      },
      {
        id: ICON_IDS.video.youku,
        name: '优酷视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M0 0m184.32 0l655.36 0q184.32 0 184.32 184.32l0 655.36q0 184.32-184.32 184.32l-655.36 0q-184.32 0-184.32-184.32l0-655.36q0-184.32 184.32-184.32Z' fill='#FFFFFF'/><path d='M839.491873 454.579222m-106.417202 61.44l-319.251605 184.32q-106.417202 61.44-167.857201-44.977202l0 0q-61.44-106.417202 44.977201-167.857201l319.251605-184.32q106.417202-61.44 167.857202 44.977201l0 0q61.44 106.417202-44.977202 167.857202Z' fill='#ff7400'/><path d='M413.80864 118.86592l319.25248 184.32A122.88 122.88 0 0 1 778.04544 471.04c-25.36448 44.77952-75.91936 62.6688-105.85088 80.14848l-381.26592-219.48416a122.88 122.88 0 0 1 122.88-212.8384z' fill='#E83A70'/><path d='M425.07264 409.81504l-38.98368 25.088L675.84 552.96z' fill='#4193F3'/><path d='M307.389592 57.425555m106.417201 61.44l319.251605 184.32q106.417202 61.44 44.977202 167.857202l0 0q-61.44 106.417202-167.857202 44.977201l-319.251605-184.32q-106.417202-61.44-44.977201-167.857201l0 0q61.44-106.417202 167.857201-44.977202Z' fill='#09b2ff'/><path d='M355.82976 783.36a69.34528 69.34528 0 0 1 66.56 71.68 69.34528 69.34528 0 0 1-66.56 71.68 69.34528 69.34528 0 0 1-66.56-71.68 69.34528 69.34528 0 0 1 66.56-71.68z m0 112.64a38.69696 38.69696 0 0 0 35.84-40.96 38.69696 38.69696 0 0 0-35.84-40.96 38.69696 38.69696 0 0 0-35.84 40.96 38.69696 38.69696 0 0 0 35.84 40.96z' fill='#E83B71'/><path d='M227.82976 860.16a15.36 15.36 0 0 1-11.76576-5.4784l-6.46144-7.70048-43.66336-42.35264a15.36 15.36 0 0 1-0.32768-21.71904 15.36 15.36 0 0 1 21.71904-0.32768l44.77952 43.43808 7.4752 8.88832a15.36 15.36 0 0 1-11.75552 25.25184z' fill='#E83B71'/><path d='M227.82976 860.13952a15.29856 15.29856 0 0 1-9.87136-3.60448 15.36 15.36 0 0 1-1.87392-21.63712l7.4752-8.89856 44.8-43.44832a15.36 15.36 0 0 1 21.71904 0.32768 15.36 15.36 0 0 1-0.32768 21.71904l-43.69408 42.38336-6.47168 7.70048a15.36 15.36 0 0 1-11.75552 5.45792z' fill='#E83B71'/><path d='M227.82976 921.55904a15.36 15.36 0 0 1-15.36-15.36v-64.44032a15.36 15.36 0 0 1 15.36-15.36 15.36 15.36 0 0 1 15.36 15.36v64.44032a15.36 15.36 0 0 1-15.36 15.36z' fill='#E83B71'/><path d='M447.16032 870.4a15.36 15.36 0 0 1-15.36-15.36V798.72a15.36 15.36 0 0 1 15.36-15.36 15.36 15.36 0 0 1 15.36 15.36v56.32a15.36 15.36 0 0 1-15.36 15.36z' fill='#E83B71'/><path d='M549.56032 870.4a15.36 15.36 0 0 1-15.36-15.36V798.72a15.36 15.36 0 0 1 15.36-15.36 15.36 15.36 0 0 1 15.36 15.36v56.32a15.36 15.36 0 0 1-15.36 15.36z' fill='#E83B71'/><path d='M499.65056 926.67904a62.54592 62.54592 0 0 1-59.74016-36.98688 89.63072 89.63072 0 0 1-8.11008-34.62144l30.72-0.14336v-0.08192a60.08832 60.08832 0 0 0 5.55008 22.528 31.67232 31.67232 0 0 0 31.58016 18.5856 31.35488 31.35488 0 0 0 23.93088-8.6016 50.6368 50.6368 0 0 0 10.61888-31.68256 15.37024 15.37024 0 1 1 30.72-1.26976 79.27808 79.27808 0 0 1-19.15904 54.272 61.19424 61.19424 0 0 1-46.11072 18.00192z' fill='#E83B71'/><path d='M601.6 921.56928a15.36 15.36 0 0 1-15.36-15.36v-112.64a15.36 15.36 0 0 1 15.36-15.36 15.36 15.36 0 0 1 15.36 15.36v112.64a15.36 15.36 0 0 1-15.36 15.36z' fill='#59C1F7'/><path d='M692.92032 921.5488a15.36 15.36 0 0 1-11.39712-5.05856c-18.85184-20.82816-49.63328-54.6816-54.76352-59.89376a15.36 15.36 0 0 1-5.30432-9.216l-1.98656-11.37664 9.216-4.52608c6.37952-5.29408 34.53952-31.30368 53.77024-49.19296a15.36 15.36 0 0 1 21.7088 0.768 15.36 15.36 0 0 1-0.77824 21.76c-0.13312 0.1024-14.03904 13.04576-27.87328 25.78432-6.69696 6.144-12.288 11.264-16.73216 15.29856a6047.232 6047.232 0 0 1 17.52064 19.1488c13.8752 15.22688 27.86304 30.72 28.0064 30.84288a15.36 15.36 0 0 1-11.38688 25.66144z' fill='#59C1F7'/><path d='M744.94976 870.4a15.36 15.36 0 0 1-15.36-15.36V798.72a15.36 15.36 0 0 1 15.36-15.36 15.36 15.36 0 0 1 15.36 15.36v56.32a15.36 15.36 0 0 1-15.36 15.36z' fill='#59C1F7'/><path d='M847.34976 870.4a15.36 15.36 0 0 1-15.36-15.36V798.72a15.36 15.36 0 0 1 15.36-15.36 15.36 15.36 0 0 1 15.36 15.36v56.32a15.36 15.36 0 0 1-15.36 15.36z' fill='#59C1F7'/><path d='M797.44 926.67904a62.54592 62.54592 0 0 1-59.74016-36.98688 89.63072 89.63072 0 0 1-8.11008-34.62144l30.72-0.14336v-0.08192a60.08832 60.08832 0 0 0 5.55008 22.528 31.67232 31.67232 0 0 0 31.58016 18.5856 31.35488 31.35488 0 0 0 23.93088-8.6016 50.6368 50.6368 0 0 0 10.61888-31.68256 15.37024 15.37024 0 1 1 30.72-1.26976 79.27808 79.27808 0 0 1-19.15904 54.272 61.19424 61.19424 0 0 1-46.11072 18.00192z' fill='#59C1F7'/>`,
        match: {
          text: /(优酷视频|优酷)/,
          link: /^https:\/\/(youku.com|www.youku.com|tv.youku.com)|http:\/\/mini.youku.com/,
        },
      },
      {
        id: ICON_IDS.video.iQiYi,
        name: '爱奇艺视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M157.514989 0.00003h708.969952A157.414989 157.414989 0 0 1 1023.99993 156.411019v711.177952a157.414989 157.414989 0 0 1-157.514989 156.409989h-708.969952A157.414989 157.414989 0 0 1 0 867.589971V156.410019A157.414989 157.414989 0 0 1 157.514989 0.00003z' fill='#42BD56'/><path d='M522.841964 874.51597a1847.215874 1847.215874 0 0 1-360.507975-27.406998c-58.126996-10.841999-92.059994-50.195997-90.352994-104.809993 0-15.459999 5.923-23.490998 21.784999-23.389998h36.743997c14.556999 0 25.197998 4.115 30.116998 20.077998 6.124 22.386998 23.993998 32.526998 45.779997 35.537998 54.612996 8.533999 109.526993 15.159999 165.043989 18.572999a1934.054868 1934.054868 0 0 0 262.022982 0c63.146996-4.819 126.192991-10.039999 188.636987-20.077999 16.464999-2.811 30.117998-10.039999 33.631998-26.503998 5.923-25.097998 22.286998-28.109998 44.071996-27.808998 55.917996 0.603 57.724996 2.109 43.167998 55.215996-9.034999 33.029998-27.406998 56.721996-62.141996 67.061996-54.311996 16.162999-110.431992 21.081999-166.149989 26.302998a1331.500909 1331.500909 0 0 1-191.547987 7.529999z m1.105-724.52995c99.588993-6.224 208.915986 5.722 317.339978 23.189998 64.149996 10.039999 94.969994 26.403998 108.522993 102.299993 3.614 20.077999-4.718 28.711998-24.093998 28.009998-12.146999-0.302-24.997998-2.31-37.445998-2.31a28.109998 28.109998 0 0 1-30.117998-20.679998 50.898997 50.898997 0 0 0-44.975997-32.727998C684.673953 230.700014 555.569962 219.959015 425.862971 226.987014c-74.489995 3.915-149.38299 13.953999-223.873985 21.784999a43.268997 43.268997 0 0 0-39.152997 28.611998c-6.827 21.683999-21.081999 26.602998-41.059997 24.795998a217.348985 217.348985 0 0 0-26.804998-1.004c-17.166999 0.603-23.390998-7.528999-23.290999-24.494998a95.171993 95.171993 0 0 1 74.289995-95.573993c120.972992-26.803998 243.651983-34.333998 377.976974-31.321998z m-97.882993 363.719975v107.018993a183.616987 183.616987 0 0 1-4.919 36.843997c-3.514 15.259999-27.306998 31.722998 6.526 43.067997 7.929999 2.71 5.923 19.575999 2.61 30.116998a19.274999 19.274999 0 0 1-21.885999 12.147999c-25.197998-1.908-53.106996 1.907-68.567995-26.001998-4.618-8.231999-12.749999-8.833999-20.981999-9.134999a233.612984 233.612984 0 0 1-26.602998-1.707c-82.522994-12.046999-92.059994-23.189998-92.059994-105.913993V391.630003c0-37.245997 14.054999-54.914996 49.693997-66.359995a204.197986 204.197986 0 0 1 131.613991 2.51c30.117998 10.039999 43.469997 29.314998 44.372997 65.656995 1.004 40.156997 0 80.313995 0 120.469992z m-90.352994-0.501V398.356003c0-15.861999-2.61-28.409998-22.788998-28.409998-18.571999 0-25.297998 9.335999-25.297999 26.502998v229.696984c0 16.865999 4.919 31.321998 24.695999 31.321998s22.989998-16.062999 22.989998-32.024998c0.1-37.445997 0-74.791995 0-112.237992z m373.859974-64.853996c11.244999-35.839998 21.283999-63.447996 28.511999-91.857993 5.522-21.785999 16.363999-30.117998 39.353997-30.117998 68.868995 0 59.632996 3.915 41.159997 55.516996-16.262999 45.276997-30.116998 91.657994-49.391997 135.529991s-13.251999 90.853994-15.159999 136.73299c-0.602 15.159999 6.426 35.036998-13.351999 42.264997s-43.970997 2.912-65.555995-2.409999c-5.32-1.304-6.826-7.829999-7.53-13.25a24.194998 24.194998 0 0 1 0-5.321999c16.665999-113.141992-40.155997-209.316986-72.381995-311.214979-10.741999-33.329998-8.934999-37.245997 25.699999-37.546997 8.031999 0 16.163999 0.703 24.094998 0 19.173999-2.008 29.514998 6.124 34.734998 24.796998 7.529999 30.016998 17.568999 59.431996 29.414998 96.877993z m243.451984 66.359996v152.494989c0 20.680999-5.923 30.719998-28.812998 31.020998-58.327996 1.004-58.327996 1.908-58.327996-57.222996 0-93.565994 0.603-187.130987 0-281.097981 0-25.699998 8.834999-34.233998 34.233997-33.831997 53.106996 0.903 53.106996 0 53.106997 52.002996V514.709995z m-395.846973 0.803c0 52.504996-0.702 105.109993 0 157.614989 0 17.468999-5.622 23.692998-22.486999 24.897998-65.656996 4.618-65.656996 5.02-65.656995-60.235996V365.427005c0-35.839998 2.51-38.248997 37.546997-38.549997a142.75799 142.75799 0 0 0 16.062999 0c25.599998-2.912 34.734998 8.131999 34.031998 33.731997-1.505 51.600996-0.502 103.302993-0.502 155.00499z m-402.571973 51.299996v104.106993c0 19.374999-7.829999 26.502998-27.005998 27.205998-55.917996 2.108-55.917996 2.61-55.917996-53.809996 0-58.729996 0.703-117.458992 0-176.087988 0-21.885999 7.529999-30.117998 29.514998-30.117998 63.447996 0 53.308996-4.216 53.509996 51.199997v77.301994z m0-196.768986c0 43.569997 0 43.569997-39.353997 43.569997-43.569997 0-43.569997 0-43.469997-44.472997 0-42.365997 0-42.365997 42.967997-42.264997 39.554997 0 39.554997 0 39.554997 43.167997z' fill='#FFFFFF'/>`,
        match: {
          text: /(爱奇艺)/,
          link: /^https:\/\/(www.iqiyi.com|ai.iqiyi.com)/,
        },
      },
      {
        id: ICON_IDS.video.kuaiShou,
        name: '快手视频',
        category: [IconCategory.MEDIA, IconCategory.VIDEO],
        tag: [IconTag.LINK, IconTag.VIDEO_SOURCE],
        path: `<path d='M299.27936 624.43008v87.48544c0 14.64832 10.70592 21.24288 23.78752 14.65856l83.49696-42.01984v-32.76288L323.072 609.7664c-13.08672-6.58432-23.79264 0.01536-23.79264 14.66368zM654.42304 436.03456c36.72064 0 66.59584-29.87008 66.59584-66.59072s-29.8752-66.59584-66.59584-66.59584c-36.71552 0-66.5856 29.8752-66.5856 66.59584s29.87008 66.59072 66.5856 66.59072zM443.56096 435.65056c47.73376 0 86.56384-38.8352 86.56384-86.56896s-38.83008-86.56896-86.56384-86.56896-86.56896 38.8352-86.56896 86.56896 38.8352 86.56896 86.56896 86.56896z' fill='#FF4A08'/><path d='M849.92 51.2H174.08c-67.8656 0-122.88 55.0144-122.88 122.88v675.84c0 67.8656 55.0144 122.88 122.88 122.88h675.84c67.8656 0 122.88-55.0144 122.88-122.88V174.08c0-67.8656-55.0144-122.88-122.88-122.88zM443.56096 204.8c54.05184 0 101.22752 29.89056 125.93664 73.99936 22.24128-20.85376 52.11136-33.664 84.93056-33.664 68.54656 0 124.30848 55.76704 124.30848 124.30848s-55.76704 124.30336-124.30848 124.30336c-41.40544 0-78.12608-20.37248-100.73088-51.60448-26.48576 31.29856-66.01728 51.22048-110.13632 51.22048-79.55968 0-144.2816-64.72704-144.2816-144.2816S364.00128 204.8 443.56096 204.8z m336.65536 505.63584c0 59.97568-48.78848 108.76416-108.76416 108.76416H515.328c-47.05792 0-87.22432-30.04416-102.34368-71.96672l-87.81824 42.40384c-9.43616 4.5568-18.97984 6.8608-28.37504 6.8608h-0.00512c-30.70976 0-53.00224-24.3712-53.00224-57.9328v-140.5696c0-33.57696 22.29248-57.94304 53.00736-57.94304 9.3952 0 18.93888 2.30912 28.36992 6.86592l87.59808 42.29632c14.93504-42.26048 55.26528-72.63232 102.56896-72.63232h156.11904c59.97568 0 108.76416 48.7936 108.76416 108.76928v85.08416z' fill='#FF4A08'/><path d='M671.45216 574.28992H515.328c-28.14976 0-51.05664 22.90688-51.05664 51.05664v85.08928c0 28.14976 22.90688 51.05664 51.05664 51.05664h156.11904c28.14976 0 51.05664-22.90688 51.05664-51.05664v-85.08928c0-28.14976-22.90176-51.05664-51.05152-51.05664z' fill='#FF4A08'/>`,
        match: {
          text: /(快手视频|快手)/,
          link: /^https:\/\/(v.kuaishouapp.com)/,
        },
      },
    ]

    mediaIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 注册其他图标
   */
  private registerOtherIcons(): void {
    const otherIcons: IconConfig[] = [
      {
        id: ICON_IDS.rating.good,
        name: '好',
        category: [IconCategory.OTHER, IconCategory.RATING],
        path: `<path d='M236.839103 994.558457 236.839103 994.558457M264.12147 996.187561l509.407965-2.731204 0.020466-0.01228c3.76679 0.454348 7.583722 0.714268 11.456936 0.714268 41.24845 0 76.996628-26.466792 94.904487-65.206094l0.060375-0.036839 0.037862-0.195451c7.717775-16.782222 12.143575-35.821857 12.143575-56.057737 0-1.564635-0.149403-3.086291-0.207731-4.635577-0.004093-0.100284 0.004093-0.200568 0.023536-0.299829l68.539003-349.538885c0.004093-0.022513 0.00921-0.045025 0.01535-0.066515 1.407046-5.260817 2.410909-10.706853 3.182482-16.241916l0.348947-1.781576-0.089028-0.150426c0.700965-5.614881 1.189082-11.307533 1.189082-17.142425 0-56.58167-34.161031-103.992469-80.335676-117.508297-0.300852-0.088004-0.556679-0.285502-0.715291-0.554632l-1.665942-2.820232c-0.224104-0.379647-0.632403-0.61296-1.074472-0.61296L645.922129 361.308953c-0.840134 0-1.434675-0.814552-1.184989-1.616824 34.063817-109.681028 17.225313-212.515115 16.653285-215.922724-0.010233-0.063445-0.014326-0.12075-0.014326-0.185218C661.329027 76.526931 613.375875 22.184255 554.228777 22.184255c-54.744835 0-99.81738 46.586015-106.272395 106.687858l-0.053212-0.004093c-21.656229 203.523323-159.659303 264.519536-190.662411 275.734972-0.204661 0.073678-0.417509 0.090051-0.63138 0.052189-1.851161-0.324388-3.710508-0.62524-5.641487-0.62524L106.143459 404.02994c-21.459754 0-38.85596 19.726274-38.85596 44.059472 0 5.275143 0.952698 10.264784 2.451842 14.95255l-0.107447 0 0 474.985991c0 0.119727-0.01842 0.23843-0.053212 0.353041-1.391696 4.529153-2.291183 9.321296-2.291183 14.387685 0 24.333198 17.396205 44.059472 38.85596 44.059472M146.246829 491.1266l64.618717 0c0.688685 0 1.24741 0.558725 1.24741 1.24741l0 414.065504c0 0.688685-0.558725 1.24741-1.24741 1.24741l-64.618717 0c-0.688685 0-1.24741-0.558725-1.24741-1.24741L144.999418 492.37401C144.998395 491.685325 145.55712 491.1266 146.246829 491.1266z' fill='#32C32A'/>`,
      },
      {
        id: ICON_IDS.rating.bad,
        name: '差',
        category: [IconCategory.OTHER, IconCategory.RATING],
        path: `<path d='M512 0C229.156571 0 0 229.156571 0 512s229.156571 512 512 512 512-229.156571 512-512S794.843429 0 512 0zM273.078857 341.321143c37.741714 0 68.242286 30.537143 68.242286 68.278857a68.205714 68.205714 0 0 1-68.242286 68.278857A68.205714 68.205714 0 0 1 204.8 409.6c0-37.741714 30.500571-68.278857 68.278857-68.278857z m477.842286 136.557714a68.205714 68.205714 0 0 1-68.242286-68.278857c0-37.741714 30.500571-68.278857 68.242286-68.278857 37.778286 0 68.278857 30.537143 68.278857 68.278857a68.205714 68.205714 0 0 1-68.278857 68.278857zM339.492571 742.765714a27.428571 27.428571 0 1 1-38.948571-38.656c54.454857-54.857143 123.867429-82.395429 206.628571-82.395428 82.870857 0 151.954286 27.611429 205.604572 82.541714a27.428571 27.428571 0 1 1-39.277714 38.326857C630.491429 698.514286 575.634286 676.571429 507.245714 676.571429c-68.498286 0-123.830857 21.942857-167.753143 66.194285z' fill='#DB6969'/>`,
      },
      {
        id: ICON_IDS.rating.ok,
        name: '一般',
        category: [IconCategory.OTHER, IconCategory.RATING],
        path: `<path d='M1001.8609683 511.60557037c0 270.87970608-219.54195911 490.43986963-490.37312 490.43986963-270.86392889 0-490.35612918-219.56016355-490.35612919-490.43986963 0-270.81417008 219.49098667-490.37312 490.35612919-490.37312 270.82994725 0 490.37312 219.55894992 490.37312 490.37312z' fill='#F5CA2C'/><path d='M327.638 536.602c-16.171 0-29.382-13.225-29.382-29.34V436.81c0-16.115 13.211-29.381 29.382-29.381 16.102 0 29.326 13.266 29.326 29.381v70.452c0 16.115-13.225 29.34-29.326 29.34zM695.532 536.602c-16.157 0-29.382-13.225-29.382-29.34V436.81c0-16.115 13.225-29.381 29.382-29.381 16.115 0 29.325 13.266 29.325 29.381v70.452c0 16.115-13.21 29.34-29.325 29.34z' fill='#3E3417'/><path d='M742.966 644.736H280.148c-9.711 0-17.568-7.871-17.568-17.637 0-9.753 7.857-17.624 17.568-17.624h462.817c9.711 0 17.623 7.871 17.623 17.624 0.001 9.766-7.911 17.637-17.622 17.637z' fill='#3E3417'/>`,
      },
      {
        id: ICON_IDS.rating.unrated,
        name: '未评分',
        category: [IconCategory.OTHER, IconCategory.RATING],
        path: `<path d='M193.77 725.221c-15.37 0-28.655 12.358-28.81 28.115-0.231 15.68 12.359 28.657 28.115 28.811 38.93 0.464 149.074 15.912 190.784 80.098a28.444 28.444 0 0 0 23.867 12.976c5.33 0 10.736-1.467 15.525-4.557 13.209-8.573 16.916-26.184 8.343-39.392-66.736-102.652-230.872-105.974-237.823-106.05z m636.46 0c-6.953 0.077-171.088 3.4-237.746 105.974-8.574 13.208-4.79 30.819 8.342 39.392a28.574 28.574 0 0 0 15.525 4.558 28.444 28.444 0 0 0 23.868-12.978c41.71-64.185 151.853-79.557 190.783-80.098 15.68-0.231 28.27-13.13 28.115-28.81-0.232-15.68-13.44-28.038-28.888-28.038z' fill='#00A651'/><path d='M830.23 228.259s-107.133-17.997-185.377 31.745c0 0-78.244-124.51-132.776-143.512-54.608 19.079-132.853 143.512-132.853 143.512-78.32-49.742-185.453-31.745-185.453-31.745-80.562 386.354 179.738 480.588 280.304 502.292v140.963c0 19.85 16.066 35.917 35.917 35.917h4.016c19.85 0 35.917-16.066 35.917-35.917V730.551C650.49 708.846 910.79 614.613 830.229 228.259z' fill='#00A651'/>`,
      },
      {
        id: ICON_IDS.rating.like,
        name: '点赞',
        category: [IconCategory.OTHER, IconCategory.RATING],
        path: `<path d='M512 1003.52c271.36 0 491.52-220.16 491.52-491.52S783.36 20.48 512 20.48 20.48 240.64 20.48 512 240.64 1003.52 512 1003.52z' fill='#333333'/><path d='M512 954.88c-243.2 0-442.88-197.12-442.88-442.88S268.8 69.12 512 69.12 954.88 266.24 954.88 512 755.2 954.88 512 954.88z' fill='#FED428'/><path d='M675.84 645.12c-25.6 64-87.04 104.96-158.72 104.96-69.12 0-130.56-40.96-156.16-102.4-5.12-12.8-20.48-17.92-33.28-12.8-12.8 5.12-17.92 20.48-12.8 33.28 33.28 81.92 112.64 133.12 202.24 133.12s168.96-53.76 202.24-135.68c5.12-12.8 0-25.6-12.8-33.28-10.24-7.68-25.6 0-30.72 12.8z' fill='#333333'/><path d='M309.76 320c25.6-28.16 64-30.72 94.72-12.8 40.96 28.16 46.08 89.6 10.24 125.44l-2.56 2.56-97.28 102.4c-5.12 5.12-12.8 5.12-17.92 0l-99.84-104.96c-33.28-35.84-28.16-94.72 12.8-125.44 30.72-20.48 69.12-15.36 94.72 12.8h5.12z m504.32-10.24c40.96 28.16 46.08 87.04 12.8 125.44l-99.84 104.96c-5.12 5.12-12.8 5.12-17.92 0l-97.28-102.4-2.56-2.56c-35.84-33.28-33.28-94.72 10.24-125.44 30.72-20.48 69.12-15.36 94.72 12.8l2.56 2.56 2.56-2.56c25.6-28.16 64-33.28 94.72-12.8z' fill='#E7004B'/>`,
        metadata: {
          viewBox: '0 0 1049 1024',
        },
      },
      {
        id: ICON_IDS.rating.dislike,
        name: '点踩',
        category: [IconCategory.OTHER, IconCategory.RATING],
        path: `<path d='M522.24 1021.44c276.48 0 501.76-225.28 501.76-501.76S801.28 15.36 522.24 15.36 20.48 240.64 20.48 517.12s225.28 504.32 501.76 504.32z' fill='#333333'/><path d='M522.24 970.24c-248.32 0-450.56-202.24-450.56-453.12S273.92 66.56 522.24 66.56s453.12 202.24 453.12 453.12-202.24 450.56-453.12 450.56z' fill='#FED428'/><path d='M363.52 793.6c28.16-64 89.6-107.52 161.28-107.52s133.12 40.96 158.72 104.96c5.12 12.8 20.48 17.92 33.28 12.8s17.92-20.48 12.8-33.28c-33.28-81.92-115.2-135.68-204.8-135.68-92.16 0-174.08 53.76-207.36 138.24-5.12 12.8 0 28.16 12.8 33.28s28.16 0 33.28-12.8zM225.28 491.52l-23.04 15.36c-10.24 7.68-12.8 25.6-5.12 35.84 7.68 10.24 25.6 12.8 35.84 5.12 5.12-5.12 12.8-10.24 17.92-12.8 25.6-15.36 53.76-25.6 81.92-33.28 15.36-2.56 30.72-5.12 40.96-5.12h7.68c25.6 2.56 38.4-28.16 17.92-43.52-17.92-15.36-40.96-25.6-64-33.28-33.28-10.24-69.12-15.36-99.84-12.8h-17.92c-12.8 2.56-23.04 15.36-23.04 28.16 2.56 12.8 12.8 23.04 25.6 23.04h7.68c15.36 0 35.84 0 53.76 2.56l10.24 2.56c-23.04 5.12-46.08 15.36-66.56 28.16zM808.96 458.24H824.32c12.8 2.56 25.6-7.68 28.16-23.04 2.56-12.8-7.68-25.6-23.04-28.16h-7.68c-33.28-2.56-74.24 0-110.08 12.8-23.04 7.68-46.08 17.92-64 33.28-17.92 15.36-7.68 43.52 15.36 43.52h5.12c12.8 0 28.16 0 46.08 2.56 28.16 5.12 56.32 15.36 81.92 33.28 5.12 5.12 12.8 7.68 17.92 12.8 10.24 7.68 25.6 7.68 35.84-5.12 7.68-10.24 7.68-25.6-5.12-35.84l-23.04-15.36c-17.92-10.24-35.84-20.48-53.76-28.16l-10.24-2.56h51.2z' fill='#333333'/>`,
        metadata: {
          viewBox: '0 0 1049 1024',
        },
      },
      {
        id: ICON_IDS.link.link,
        name: '链接',
        category: [IconCategory.OTHER, IconCategory.LINK],
        path: `<path d='M427.670588 674.153412l-68.367059-69.089883-9.878588-10.36047c-78.185412-92.099765-78.125176-226.364235 0.602353-313.765647l8.372706-8.854588 154.684235-154.744471c89.509647-89.449412 234.315294-89.389176 329.005177-3.312941l8.673882 8.31247 64.39153 64.331294c94.268235 94.268235 97.219765 245.458824 4.939294 337.679059a60.235294 60.235294 0 0 1-89.871059-79.932235l4.698353-5.240471c42.405647-42.405647 43.008-112.64 1.325176-160.587294l-6.26447-6.746353-64.39153-64.331294c-45.778824-45.778824-116.073412-49.212235-161.069176-10.721882l-6.204236 5.782588L443.572706 357.195294c-39.755294 39.755294-43.008 104.387765-8.131765 152.094118l6.445177 8.011294 71.017411 71.559529A60.235294 60.235294 0 1 1 427.670588 674.153412z' fill='#3BBC5E'/><path d='M609.761882 363.339294l71.920942 73.246118 11.625411 12.649412c73.065412 92.099765 70.836706 222.268235-6.023529 307.501176l-8.192 8.673882-154.744471 154.684236c-89.449412 89.449412-234.315294 89.389176-328.944941 3.373176l-8.734118-8.31247-64.331294-64.39153C28.069647 756.555294 25.118118 605.364706 117.338353 513.084235a60.235294 60.235294 0 0 1 85.232941 85.232941c-42.465882 42.405647-43.068235 112.64-1.325176 160.587295l6.26447 6.686117 64.331294 64.39153c45.778824 45.778824 116.133647 49.152 161.069177 10.721882l6.26447-5.782588 154.744471-154.744471c40.779294-40.779294 43.248941-107.941647 4.999529-156.069647L532.239059 456.222118l-7.649883-7.710118a60.235294 60.235294 0 1 1 85.172706-85.172706z' fill='#3BBC5E'/>`,
      },
      {
        id: ICON_IDS.link.linkExpired,
        name: '失效链接',
        category: [IconCategory.OTHER, IconCategory.LINK],
        path: `<path d='M427.670588 674.153412l-68.367059-69.089883-9.878588-10.36047c-78.185412-92.099765-78.125176-226.364235 0.602353-313.765647l8.372706-8.854588 154.684235-154.744471c89.509647-89.449412 234.315294-89.389176 329.005177-3.312941l8.673882 8.31247 64.39153 64.331294c94.268235 94.268235 97.219765 245.458824 4.939294 337.679059a60.235294 60.235294 0 0 1-89.871059-79.932235l4.698353-5.240471c42.405647-42.405647 43.008-112.64 1.325176-160.587294l-6.26447-6.746353-64.39153-64.331294c-45.778824-45.778824-116.073412-49.212235-161.069176-10.721882l-6.204236 5.782588L443.572706 357.195294c-39.755294 39.755294-43.008 104.387765-8.131765 152.094118l6.445177 8.011294 71.017411 71.559529A60.235294 60.235294 0 1 1 427.670588 674.153412z' fill='#FF5252'/><path d='M609.761882 363.339294l71.920942 73.246118 11.625411 12.649412c73.065412 92.099765 70.836706 222.268235-6.023529 307.501176l-8.192 8.673882-154.744471 154.684236c-89.449412 89.449412-234.315294 89.389176-328.944941 3.373176l-8.734118-8.31247-64.331294-64.39153C28.069647 756.555294 25.118118 605.364706 117.338353 513.084235a60.235294 60.235294 0 0 1 85.232941 85.232941c-42.465882 42.405647-43.068235 112.64-1.325176 160.587295l6.26447 6.686117 64.331294 64.39153c45.778824 45.778824 116.133647 49.152 161.069177 10.721882l6.26447-5.782588 154.744471-154.744471c40.779294-40.779294 43.248941-107.941647 4.999529-156.069647L532.239059 456.222118l-7.649883-7.710118a60.235294 60.235294 0 1 1 85.172706-85.172706z' fill='#FF5252'/>`,
      },
      {
        id: ICON_IDS.time.clock,
        name: '时钟',
        category: [IconCategory.OTHER, IconCategory.TIME],
        path: `<path d='M511.913993 63.989249c-247.012263 0-447.924744 200.912481-447.924744 447.924744s200.912481 447.924744 447.924744 447.924744 447.924744-200.912481 447.924744-447.924744S758.926256 63.989249 511.913993 63.989249zM511.913993 895.677474c-211.577356 0-383.763481-172.186125-383.763481-383.763481 0-211.577356 172.014111-383.763481 383.763481-383.763481s383.763481 172.014111 383.763481 383.763481S723.491349 895.677474 511.913993 895.677474z' fill='${this.DEFAULT_FILL_COLOR}'/><path d='M672.05913 511.913993l-159.973123 0L512.086007 288.123635c0-17.717453-14.277171-32.166639-31.994625-32.166639-17.717453 0-31.994625 14.449185-31.994625 32.166639l0 255.956996c0 17.717453 14.277171 31.994625 31.994625 31.994625l191.967747 0c17.717453 0 32.166639-14.277171 32.166639-31.994625C704.053754 526.191164 689.604569 511.913993 672.05913 511.913993z' fill='${this.DEFAULT_FILL_COLOR}'/>`,
      },
      {
        id: ICON_IDS.time.calendar,
        name: '日历',
        category: [IconCategory.OTHER, IconCategory.TIME],
        path: `<rect x='3' y='4' width='18' height='18' rx='2' ry='2' fill='none'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/>`,
        metadata: {
          viewBox: '0 0 24 24',
          attributes: {
            'stroke': '',
            'stroke-width': '2',
            'stroke-linecap': 'round',
            'stroke-linejoin': 'round',
          },
        },
      },
      {
        id: ICON_IDS.other.ad,
        name: '广告',
        category: [IconCategory.OTHER],
        path: `<path d='M649.6 359.552h-43.968v280.96h44.032c48.384 4.544 83.648-9.088 105.6-31.68 26.432-27.136 39.552-58.88 39.552-108.736 0-49.92-13.12-77.056-39.552-104.256-26.496-22.72-57.28-36.288-105.664-36.288zM271.168 540.864h101.248l-52.8-140.544z' fill='#D71718'/><path d='M901.44 96H122.624C57.728 96 0 151.744 0 222.4v579.328C0 872.256 54.08 928 122.624 928h778.816C966.4 928 1024 872.256 1024 801.664V222.4c0-70.656-54.144-126.4-122.56-126.4z m-467.392 617.088l-39.616-108.8h-140.8l-39.616 108.736h-70.4l149.568-412.48h65.984l149.632 412.48H434.048z m374.016-58.944c-44.032 40.832-92.416 54.4-154.048 54.4H539.584V296.128h118.848c57.216 0 109.952 18.048 149.632 54.4 43.968 36.224 61.568 86.08 61.568 145.024 0 68.032-22.016 117.824-61.568 158.592z' fill='#D71718'/>`,
      },
      {
        id: ICON_IDS.other.score,
        name: '评分',
        category: [IconCategory.OTHER],
        path: `<path d='M785.472 40.32c64.32 0.064 116.48 48.64 116.544 108.608v320.768c12.928 3.328 24.704 9.792 34.112 18.624l55.488 51.712c11.584 10.56 19.2 24.384 21.76 39.296a52.16 52.16 0 0 1-15.936 46.912l-95.36 88.832v176.64c-0.128 59.968-52.288 108.544-116.608 108.608H138.624C74.24 1000.256 22.08 951.68 22.016 891.712V148.928C22.016 88.96 74.24 40.32 138.624 40.32z m101.504 499.2l-4.736 4.352-274.048 255.36-7.04 38.208-0.32 1.792-0.512 2.688-0.256 1.408-0.192 1.088-1.984 11.008c21.312-3.392 44.672-7.04 59.712-9.6l279.04-260.032-49.664-46.336zM313.92 725.76H193.792c-20.352 0-36.8 15.36-36.8 34.304 0 18.944 16.448 34.304 36.8 34.304h120.128c20.352 0 36.8-15.36 36.8-34.304 0-18.944-16.448-34.304-36.8-34.304z m147.264-137.344H193.792c-20.352 0-36.8 15.36-36.8 34.304 0 18.944 16.448 34.304 36.8 34.304h267.392c20.352 0 36.8-15.36 36.8-34.304 0-18.944-16.448-34.304-36.8-34.304zM240.512 211.456c-20.096 0-36.352 15.168-36.352 33.92V451.84c0 18.688 16.256 33.92 36.352 33.92a37.76 37.76 0 0 0 25.792-9.984 32.768 32.768 0 0 0 10.624-23.936V245.376c0-18.752-16.256-33.92-36.416-33.92z m386.432 0c-50.816 0-92.032 38.4-92.032 85.76V400c0 47.36 41.216 85.696 92.032 85.696 50.816 0 92.032-38.4 92.032-85.76V297.28c0-47.36-41.216-85.76-92.032-85.76z m-220.48 0c-50.816 0-92.032 38.4-92.032 85.76v102.72c0 47.36 41.216 85.76 92.032 85.76 50.816 0 92.032-38.4 92.032-85.76V297.216c0-47.36-41.216-85.76-92.032-85.76z m220.48 68.544c4.928 0 9.6 1.792 13.056 5.056 3.52 3.2 5.44 7.552 5.44 12.16v102.72c0 9.472-8.32 17.152-18.432 17.152-10.24 0-18.432-7.68-18.432-17.152V297.152c0-9.472 8.192-17.152 18.368-17.152z m-220.416 0c4.864 0 9.6 1.792 13.056 5.056 3.456 3.2 5.376 7.552 5.376 12.16v102.72c0 9.472-8.256 17.152-18.432 17.152-10.176 0-18.432-7.68-18.432-17.152V297.152c0-9.472 8.256-17.152 18.432-17.152z' fill='#1afa29'/>`,
      },
      {
        id: ICON_IDS.other.pass,
        name: '通过',
        category: [IconCategory.OTHER],
        path: `<g transform='scale(1.2) translate(-100, -100)'><path d='M515.26 98.15c225.78 0 409.33 186.12 409.33 415.05 0 228.9-183.56 415.02-409.33 415.02-225.74 0-409.3-186.12-409.3-415.02 0-228.93 183.56-415.05 409.3-415.05z m0 27.44c-211.01 0-382.27 173.66-382.27 387.61s171.69 387.61 382.27 387.61c210.61 0 381.85-174.09 382.27-387.61 0.01-213.96-171.26-387.61-382.27-387.61z m0 39.46c189.3 0 343.36 156.24 343.36 348.12 0 191.95-154.08 348.18-343.33 348.18-189.3 0-343.39-156.24-343.39-348.15 0-191.95 154.08-348.12 343.36-348.12v-0.03z m0 15.81c-180.68 0-327.76 149.11-327.76 332.31 0 183.24 147.08 332.37 327.76 332.37 113.51 0 213.49-58.99 272.46-147.87l6.21-9.8c32.08-52.46 49.09-112.95 49.13-174.68 0-183.21-147.11-332.37-327.79-332.37v0.04z m-10.24 594.07l17.61 9.14 18.47-5.39-3.3 19.1 11.5 15.81-19.26 2.48-11.46 15.38-9.02-17.45-18.44-6.66 13.91-13.3c-0.01-0.02-0.01-19.11-0.01-19.11z m156.1-29.92l4.52 18.29 16.81 9.95-16.81 9.98-4.52 18.69-15.16-12.46-19.66 1.67 7.37-17.89-7.34-17.42 19.63 1.64c0 0.01 15.16-12.45 15.16-12.45z m-278.6-2.07l13.94 14.14 19.26 1.24-8.62 17.05 6.14 18.66-19.26-3.72-15.56 10.79-3.27-19.53-15.59-12.03 17.21-8.31 5.75-18.29z m328.19-191.52l13.51 2.48c-18.83 101.8-106.94 175.33-208.96 175.33-49.17-0.08-96.79-17.41-134.79-49.04l8.62-10.79c35.59 29.56 80.17 45.7 126.17 45.69 95.48 0.01 177.84-68.96 195.45-163.67z m45.49 99.29l13.91 12.46 19.26-1.24-8.19 17.86 6.54 17.86-18.83-1.65-15.16 12.46-3.67-18.69-15.99-10.38 16.81-9.98 5.32-18.7z m-399.27-170.4l27.58 81.22-118.28 41.32 18.07 53.19c2.51 7.35 7.37 9.76 14.64 7.22l95.17-33.23c3.44-1.16 6.36-3.55 8.19-6.73 2.05-3.97 0-16.24-5.72-36.95l19.69-0.4c5.99 25.17 7.67 40.83 5.2 46.65-3.15 5.89-8.47 10.32-16.14 13.42L300.01 682.8c-16.2 5.67-27.12-0.03-32.9-17.05l-34.18-100.62 18.34-6.42 8.99 26.5 99.79-34.84-15.65-46.03-125.9 43.96-5.99-17.58 144.42-50.44v0.03z m101.19 27.84l24.86 73.13c1.34 0.5 2.63 1.13 3.85 1.89 6.14 3.72 12.05 5.98 17.67 6.82 6.63 0.71 15.62-0.47 27.03-4.03 10.94-3.6 23.79-7.87 38.67-13.05 9.32-3.29 18.8-6.82 28.28-10.32 9.48-3.53 16.81-6.51 21.8-8.68l1.8 19.72-43.5 15.19c-10.49 3.66-22.01 7.44-34.27 11.53-12.47 4.12-22.99 6.51-31.64 7.35-8.66 0.24-17.2-2.02-24.64-6.51-3.79-2.39-6.6-3.1-8.87-2.32-4.04 1.4-7.95 12.49-11.77 33.29l-17.61-7.9c4.22-19 9.45-31.87 15.78-38.38l-18.59-54.74-25.59 8.9L415.6 523l42.56-14.85h-0.04z m97.84-101l4.4 12.96a216.836 216.836 0 0 1-27.09 37.14c0.52 0.28 0.95 0.31 1.47 0.59l38.34-13.39 29.2 85.87c3.85 11.44-0.46 19.44-12.84 23.75l-14.71 5.15-9.02-13.95 13.82-3.97c4.19-1.46 5.75-4.37 4.31-8.65l-3.36-9.86-27.45 9.61 10.76 31.71-16.6 5.8-10.76-31.74-26.9 9.39 10.91 32.12-17.18 6.01-35.46-104.47 43.87-15.31c-8.44-2.27-16.98-4.14-25.59-5.58l7.15-14.17-36.84 12.83-5.2-15.28 104.77-36.58v0.02z m93.49 34.01l24.89 73.31c1.43 0.42 2.79 1.04 4.04 1.86 6.3 3.41 12.57 5.55 18.37 6.32 6.85 0.62 16.14-0.87 28.13-4.62 11.31-3.72 24.73-8.21 40.36-13.64 8.59-3.04 17.3-6.29 26.29-9.42 9.02-3.56 15.74-6.35 20.39-8.4l1.9 20.09-40.45 14.14c-10.85 3.78-22.75 7.75-35.62 12-13.02 4.34-24.09 6.91-32.77 7.75-8.93 0.41-17.8-1.74-25.59-6.2-3.79-2.36-6.97-2.98-9.26-2.17-4.01 1.39-8.04 12.77-11.86 34.22l-17.61-7.9c4.28-19.47 9.63-32.58 15.9-39.31L638 464.63l-25.93 9.05-5.93-17.42 43.31-15.1z m-122.69 68.57l-26.9 9.39 4.59 13.55 26.9-9.39c-0.01 0-4.59-13.55-4.59-13.55z m44.08-15.38l-27.48 9.61 4.59 13.52 27.48-9.61-4.59-13.52z m157.27-153.38l10.09 29.79 27.12-9.45 6.11 17.98-27.09 9.49L771.92 470c4.46 13.17 0 22.07-12.96 26.63l-26.9 9.39-9.97-16.21c8.44-2.1 16.78-4.59 25.01-7.44 5.14-1.8 6.91-5.42 5.2-10.48l-26.08-76.79-71.75 25.05-6.11-17.98 71.75-25.05-10.12-29.79c-0.01-0.01 18.12-6.36 18.12-6.36zM517.04 481.09l-26.9 9.39 4.59 13.55 26.9-9.39-4.59-13.55z m-107.01-27.31a254.114 254.114 0 0 1 42.98 19.16l-8.44 17.24c-10.91-7.01-25.16-13.73-42.89-20.09l8.35-16.31z m151.09 11.93l-27.48 9.61 4.59 13.52 27.48-9.58-4.59-13.55z m-45.86-168.54c49.17 0.07 96.81 17.39 134.82 49.01l-8.22 10.38c-35.59-29.56-80.17-45.7-126.17-45.69-95.61 0.1-177.74 68.92-195.85 164.11l-13.54-2.48c18.87-101.8 106.94-175.33 208.96-175.33z m168.03 128.71c16.63 9.98 29.81 19.22 39.65 27.47l-11.01 15.31a318.619 318.619 0 0 0-39.74-28.95l11.1-13.83z m-146.38 5.02l-42.74 14.91c8.84 2.11 17.21 4.15 25.07 6.6 6.63-6.85 12.53-14.1 17.67-21.51z m63.13-43.46c16.2 5.58 30.48 11.84 42.86 18.79l-8.62 17.95a217.73 217.73 0 0 0-42.56-20.43l8.32-16.31zM310.4 325l2.45 19.1 15.59 11.22-17.61 8.74-6.97 18.29-13.51-13.73h-2.51c-5.26 0.03-17.18 0.19-17.18 0.84L280.1 352l-5.35-18.29 19.26 2.91L310.4 325z m62.67-85.55l15.19 12.43 19.66-1.67-7.37 17.89 7.37 17.86-19.66-1.67-15.16 12.49s-4.52-18.29-4.52-18.72l-16.78-9.95 16.81-9.98 4.49-18.69-0.03 0.01z m292.98-7.51l3.27 19.53 15.99 12.03-17.21 8.31-5.72 18.29-13.94-14.14s-19.26-0.81-19.66-1.24l8.59-17.05-6.15-18.66 19.26 3.72 15.59-10.79h-0.02z m-149.1-31.15l9.02 17.45 18.83 6.63-13.94 13.3v19.1l-17.61-9.11-18.83 5.39 3.27-19.13-11.46-15.81 19.26-2.48 11.46-15.34z' fill='#00B377'/><path d='M1020.99 477.09l3.21 0.09-0.09 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-26.96 12.52-42.25 22.32-58.3 36.02l-3.94 3.41-4.68 4.12c-20.67 18.04-32.28 26.35-59.25 40.67-9.66 5.11-19.51 9.3-29.81 12.74l-3.67 1.24c-19.02 6.04-36.29 9.02-68.11 12.55l-18.65 2.02c-48.49 5.39-72.49 10.11-104.95 22.57l-1.68 0.62c-36.99 14.38-55.67 26.1-81.41 47.96l-7.34 6.26c-24.34 20.68-39.32 30.6-69.12 43.58-23.57 10.29-47.05 18.1-72.64 24.68l-5.14 1.3a803.77 803.77 0 0 1-21.61 4.96l-10.06 2.17-6.27 1.27-6.85 1.39-12.84 2.63-6.21 1.3c-22.13 4.65-36.01 8.37-49.13 13.48-30.88 11.93-63.9 32.92-98.99 62.93l-2.45 2.11-2.2-2.63c36.29-31.37 70.41-53.26 102.42-65.63l2.51-0.96c12.99-4.84 27.06-8.49 49.04-13.08l34.45-7.1 5.87-1.24c9.57-2.08 18.13-4.09 26.6-6.26 25.44-6.51 48.76-14.29 72.15-24.49 30.14-13.14 44.88-23.06 70.01-44.55l4-3.41 3.18-2.73c24.7-20.77 43.41-32.46 78.57-46.28l2.23-0.87c34.24-13.3 58.7-18.07 109.94-23.68l16.14-1.77c33.63-3.72 50.87-6.82 71.14-13.64 10.12-3.38 19.81-7.5 29.29-12.52l3.79-2.05c24.67-13.3 35.92-21.58 56.34-39.52l4.59-4.03 1.35-1.15c17.52-15.13 33.84-25.57 64.45-39.43 40.94-18.54 86.98-27.34 138.13-26.38l-0.01-0.01z m-3-9.92l3.21 0.09-0.09 3.44c-51.94-1.36-98.56 7.32-139.87 26.04-29.56 13.39-45.58 23.5-62.4 37.88l-3.97 3.41-4.68 4.12c-20.67 18.04-32.25 26.35-59.25 40.64-9.57 5.08-19.54 9.35-29.81 12.77l-2.45 0.81c-19.51 6.35-36.84 9.36-69.34 12.99l-18.65 2.01c-48.49 5.39-72.49 10.11-104.95 22.57l-1.68 0.62c-36.23 14.1-54.91 25.61-79.85 46.62l-8.87 7.59c-24.37 20.68-39.35 30.6-69.15 43.58a470.092 470.092 0 0 1-72.64 24.68l-5.14 1.27c-6.88 1.7-13.91 3.35-21.61 5.02l-10.06 2.11-25.93 5.33-6.24 1.3c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.93-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.63c36.29-31.37 70.41-53.26 102.42-65.63l2.51-0.96c13.42-4.99 27.97-8.71 51.21-13.55l32.28-6.63 5.87-1.24c9.57-2.11 18.13-4.09 26.6-6.26 25.47-6.51 48.76-14.29 72.15-24.49 29.47-12.86 44.21-22.63 68.33-43.09l5.69-4.87c26.29-22.54 45.09-34.6 81.72-48.98l2.29-0.93c35.34-13.7 60.23-18.35 115.04-24.21l11.01-1.21c33.63-3.72 50.87-6.82 71.14-13.64 10.12-3.38 19.81-7.5 29.29-12.52l3.82-2.05c19.28-9.9 37.2-22.3 53.32-36.89l8.93-7.81 2.45-2.08c16.63-14.04 32.83-24.15 62-37.35 40.94-18.54 86.98-27.34 138.13-26.38v-0.01z m-2.99-9.92l3.21 0.09-0.09 3.44c-51.94-1.36-98.56 7.32-139.84 26.04-29.59 13.39-45.61 23.5-62.43 37.88l-3.97 3.41-4.68 4.12c-20.67 18.04-32.25 26.35-59.25 40.64-9.63 5.11-19.51 9.3-29.81 12.77l-2.45 0.81c-19.51 6.35-36.84 9.36-69.34 12.99l-18.65 2.01c-49.31 5.49-73.28 10.26-106.61 23.22l-4.46 1.74c-33.35 13.33-51.51 24.71-75.42 44.86l-8.87 7.59c-24.37 20.68-39.35 30.6-69.15 43.58a470.092 470.092 0 0 1-72.64 24.68l-5.14 1.27c-6.88 1.7-13.91 3.35-21.61 5.02l-10.03 2.11-25.96 5.3-6.24 1.33c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.93-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 14.15-5.46 29.04-9.36 53.72-14.48l32.28-6.63 5.87-1.24c9.57-2.11 18.16-4.09 26.6-6.26 25.47-6.51 48.76-14.29 72.15-24.49 30.14-13.17 44.88-23.06 70.01-44.55l4-3.41c26.84-23 45.86-35.09 84.01-49.91l3.33-1.24c32.53-12.34 56.99-16.99 106.57-22.44l16.17-1.74c33.63-3.72 50.87-6.82 71.11-13.64 10.12-3.41 19.81-7.5 29.29-12.52l3.82-2.05c24.67-13.33 35.89-21.58 56.31-39.52l5.93-5.18 2.45-2.08c16.63-14.04 32.83-24.15 62-37.35 40.97-18.53 87.01-27.33 138.16-26.4z m-2.97-9.92l3.18 0.09-0.06 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.16 1.86c-27.64 12.8-43.02 22.82-59.49 37.04l-4.34 3.78-3.06 2.73c-20.7 18.04-32.28 26.35-59.28 40.64-9.63 5.11-19.51 9.3-29.78 12.77l-2.45 0.81c-20.76 6.73-39.01 9.73-75.64 13.64l-12.38 1.36c-49.31 5.49-73.28 10.26-106.61 23.22l-4.46 1.74c-33.35 13.3-51.51 24.71-75.39 44.86l-8.87 7.59c-24.37 20.65-39.38 30.6-69.18 43.58-23.54 10.29-47.02 18.1-72.64 24.68l-5.11 1.27c-7.77 1.92-15.71 3.72-24.55 5.64l-33.08 6.82c-25.8 5.3-41.03 9.21-55.37 14.79-30.88 11.93-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 12.9-4.96 26.41-8.68 47.39-13.14l10.52-2.2c5.75-1.18 22.38-4.56 28.1-5.77l5.87-1.24c9.57-2.11 18.16-4.09 26.63-6.29 25.44-6.51 48.73-14.26 72.12-24.49 29.47-12.83 44.21-22.6 68.33-43.09l5.72-4.87c26.81-22.97 45.86-35.03 83.98-49.88l3.33-1.24c33.08-12.55 57.84-17.14 109.14-22.72l13.6-1.46c33.63-3.72 50.87-6.82 71.14-13.64 10.09-3.41 19.78-7.5 29.26-12.55l3.82-2.01c24.67-13.33 35.89-21.58 56.31-39.52l5.93-5.18 2.45-2.08c16.63-14.04 32.83-24.18 62-37.35 40.95-18.55 86.99-27.35 138.17-26.42z m-2.99-9.92l3.21 0.09-0.09 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-27.67 12.8-43.05 22.82-59.49 37.04l-4.37 3.78-3.06 2.73c-20.7 18.04-32.28 26.35-59.28 40.64-9.63 5.11-19.51 9.3-29.78 12.77l-2.45 0.81c-19.54 6.32-36.87 9.36-69.37 12.99l-18.65 2.01c-48.49 5.39-72.46 10.11-104.95 22.57l-1.65 0.62c-36.26 14.07-54.94 25.61-79.85 46.62l-8.87 7.59c-24.37 20.65-39.38 30.57-69.18 43.58-23.54 10.29-47.02 18.1-72.61 24.68l-5.14 1.27c-7.73 1.92-15.71 3.72-24.55 5.64L221.83 741c-25.8 5.3-41.03 9.21-55.34 14.76-30.88 11.97-63.9 32.95-98.99 62.96l-2.45 2.11-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 12.9-4.96 26.41-8.68 47.39-13.14l38.61-7.97 5.87-1.24c9.57-2.11 18.16-4.12 26.63-6.29 25.44-6.51 48.73-14.26 72.15-24.49 29.44-12.83 44.18-22.6 68.3-43.09l5.72-4.87c26.29-22.51 45.06-34.56 81.72-48.98l2.26-0.9c34.79-13.48 59.46-18.2 112.48-23.96l13.6-1.46c33.63-3.72 50.87-6.82 71.14-13.64 10.09-3.41 19.81-7.5 29.26-12.55l3.82-2.02c24.67-13.33 35.89-21.61 56.34-39.52l3.88-3.41 2.02-1.77 2.45-2.08c16.63-14.04 32.83-24.18 62-37.35 40.97-18.56 86.98-27.33 138.16-26.4z m-3-9.92l3.21 0.09-0.09 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-27 12.49-42.28 22.32-58.3 35.99l-1.83 1.61-6.82 5.95c-20.64 18.04-32.25 26.35-59.25 40.64-9.63 5.11-19.47 9.3-29.78 12.77l-2.45 0.81c-19.93 6.48-37.6 9.49-71.42 13.21l-16.6 1.8c-49.31 5.49-73.28 10.26-106.61 23.19-36.23 14.07-54.91 25.61-79.85 46.62l-8.87 7.56c-24.37 20.68-39.35 30.6-69.18 43.62-23.54 10.26-47.02 18.1-72.61 24.64l-5.14 1.3c-7.73 1.92-15.71 3.72-24.55 5.64l-13.57 2.79-19.47 4.03c-25.83 5.3-41.06 9.21-55.4 14.76-30.88 11.97-63.87 32.95-98.96 62.93l-2.45 2.14-2.2-2.63c36.26-31.37 70.41-53.26 102.42-65.66 14.12-5.46 29.04-9.36 53.68-14.48l32.28-6.63 5.87-1.24c9.57-2.11 18.16-4.12 26.63-6.29 25.44-6.51 48.73-14.26 72.15-24.49l3.97-1.77c27.51-12.31 42.04-22.26 66.04-42.78l3.97-3.41c26.32-22.51 45.09-34.56 81.75-48.98l2.26-0.9c34.79-13.48 59.46-18.2 112.48-23.96l11.56-1.24c35.01-3.84 52.52-6.91 73.19-13.86 10.09-3.41 19.81-7.53 29.29-12.55l5.63-3.01c22.81-12.4 34-20.61 52.98-37.2l6.79-5.95 0.64-0.56c17.55-15.13 33.87-25.57 64.45-39.43 40.97-18.57 87.01-27.34 138.16-26.41z m-3-9.92l3.21 0.06-0.09 3.47c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-26.29 12.18-41.49 21.82-57.11 34.97l-2.38 2.08-3.52 3.04-3.91 3.47c-20.67 18.04-32.28 26.35-59.28 40.64-9.63 5.11-19.47 9.3-29.78 12.77l-2.45 0.81c-19.93 6.45-37.57 9.49-71.39 13.21l-14.12 1.52c-50.99 5.58-75.21 10.32-109.11 23.47-36.99 14.38-55.67 26.07-81.41 47.96l-3.85 3.29c-26.44 22.72-41.43 32.95-72.64 46.56-23.54 10.26-47.02 18.1-72.61 24.64-9.39 2.42-18.86 4.62-29.66 6.91l-33.08 6.82c-25.83 5.33-41.06 9.24-55.4 14.79-30.88 11.97-63.87 32.95-98.96 62.93L59.07 801l-2.2-2.63c36.29-31.37 70.41-53.26 102.42-65.66 14.12-5.49 29.04-9.36 53.68-14.51l32.28-6.6c12.01-2.54 22.32-4.93 32.5-7.53 25.44-6.51 48.73-14.26 72.15-24.49 30.14-13.14 44.88-23.06 70.01-44.51l3.97-3.41c26.87-23 45.86-35.09 84.01-49.91l3.36-1.27c33.63-12.74 58.64-17.27 111.68-22.94l13.05-1.43c32.31-3.66 49.25-6.76 69.12-13.42 10.12-3.41 19.81-7.53 29.29-12.55l5.63-3.01c22.81-12.4 34-20.61 52.98-37.2l6.79-5.95 0.67-0.56c17.52-15.16 33.84-25.61 64.45-39.46 40.91-18.54 86.98-27.31 138.13-26.35v-0.04z m-2.99-9.92l3.21 0.06-0.09 3.47c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-26.29 12.18-41.49 21.82-57.08 34.97l-2.42 2.05-3.52 3.1-0.83 0.71c-22.65 19.96-34.06 28.33-62.37 43.37-9.63 5.11-19.47 9.3-29.78 12.77l-2.45 0.81c-20.33 6.6-38.28 9.61-73.5 13.42l-12.01 1.3c-50.99 5.58-75.21 10.32-109.11 23.47-36.99 14.38-55.67 26.07-81.41 47.96l-7.34 6.23c-24.34 20.68-39.32 30.6-69.12 43.62-23.57 10.26-47.05 18.1-72.64 24.64-9.39 2.42-18.86 4.62-29.66 6.91l-33.08 6.82c-25.83 5.33-41.03 9.24-55.37 14.79-30.88 11.97-63.9 32.95-98.99 62.93l-2.45 2.14-2.2-2.63c36.29-31.37 70.41-53.26 102.42-65.66 13.3-5.15 27.27-8.9 49.44-13.61l36.56-7.5c11.98-2.54 22.32-4.93 32.5-7.53 25.41-6.51 48.73-14.26 72.12-24.49 29.47-12.83 44.21-22.63 68.33-43.09l5.69-4.87c26.84-22.97 45.86-35.06 83.98-49.88l3.36-1.27c33.63-12.74 58.64-17.27 111.71-22.94l13.02-1.46c32.31-3.63 49.25-6.73 69.12-13.39 10.12-3.41 19.81-7.53 29.29-12.55l3.79-2.05c24.06-12.96 35.34-21.14 54.82-38.16l7.46-6.51 2.45-2.11c16.63-14.01 32.83-24.12 62-37.35 40.96-18.55 87-27.32 138.15-26.39z m-3-9.92l3.21 0.06-0.09 3.47c-51.94-1.36-98.56 7.32-139.87 26.04-29.56 13.39-45.58 23.5-62.43 37.85l-4.71 4.09-5.41 4.74c-19.75 17.17-31.43 25.42-57.78 39.37-9.63 5.11-19.47 9.3-29.78 12.77-21.37 7.13-39.32 10.23-75.94 14.23l-9.48 1.02c-52.74 5.7-77.19 10.38-111.65 23.75-36.99 14.38-55.67 26.07-81.41 47.96l-7.31 6.23c-24.37 20.68-39.35 30.6-69.15 43.62-23.57 10.26-47.05 18.07-72.64 24.64-9.39 2.42-18.86 4.62-29.66 6.91l-9.42 1.98-23.66 4.84c-25.83 5.33-41.03 9.24-55.37 14.79-30.88 11.97-63.9 32.95-98.96 62.93l-2.45 2.14-2.23-2.63c36.29-31.37 70.41-53.26 102.42-65.66 13.3-5.15 27.3-8.9 49.47-13.61l36.53-7.53c11.98-2.51 22.32-4.9 32.5-7.5 25.41-6.51 48.73-14.26 72.12-24.49 30.14-13.14 44.88-23.06 70.01-44.51l4-3.41c26.29-22.57 45.09-34.63 81.72-49.01l2.29-0.9c35.34-13.73 60.23-18.35 115.04-24.24l13.02-1.43c32.35-3.63 49.28-6.73 69.12-13.39 10.12-3.41 19.81-7.53 29.29-12.55l3.79-2.05c24.06-12.96 35.34-21.14 54.85-38.19l7.43-6.51 2.45-2.08c16.63-14.01 32.83-24.15 62-37.35 40.95-18.55 86.99-27.35 138.14-26.39z m-3-9.92l3.21 0.06-0.09 3.47c-51.94-1.36-98.56 7.28-139.84 26.01-29.59 13.39-45.61 23.53-62.43 37.88l-4.74 4.09-5.41 4.74c-19.75 17.17-31.43 25.42-57.78 39.37-9.6 5.11-19.47 9.3-29.78 12.77-21.37 7.13-39.32 10.23-75.91 14.23l-12.05 1.3c-50.99 5.58-75.21 10.32-109.08 23.47-36.99 14.35-55.7 26.04-81.44 47.96l-7.31 6.23c-24.37 20.68-39.35 30.6-69.15 43.62-23.54 10.26-47.05 18.07-72.64 24.64-9.36 2.42-18.86 4.62-29.66 6.91l-9.42 1.98-23.66 4.84c-25.83 5.33-41.03 9.24-55.37 14.79-30.88 11.97-63.9 32.92-98.96 62.93l-2.45 2.14-2.23-2.63c36.29-31.4 70.44-53.29 102.42-65.66l2.51-0.93c12.6-4.71 26.17-8.28 46.96-12.68l36.53-7.53c12.01-2.54 22.32-4.9 32.5-7.5 25.44-6.51 48.73-14.26 72.12-24.49 29.47-12.86 44.21-22.63 68.33-43.09l5.69-4.87c26.29-22.54 45.09-34.6 81.75-48.98l2.26-0.93c35.34-13.7 60.23-18.32 115.04-24.21l8.99-0.96c35.01-3.84 52.49-6.94 73.16-13.86 10.12-3.41 19.81-7.53 29.29-12.55l3.82-2.05c24.06-12.96 35.31-21.14 54.82-38.19l7.43-6.51c17.52-15.13 33.87-25.57 64.45-39.43 40.94-18.54 86.98-27.34 138.12-26.38z m-2.96-9.92l3.18 0.06-0.06 3.47c-51.97-1.36-98.56 7.28-139.87 26.01l-4.16 1.89c-26.96 12.49-42.25 22.32-58.27 35.96l-4.74 4.12-3.91 3.44c-20.67 18.04-32.25 26.35-59.25 40.67-9.63 5.11-19.51 9.3-29.78 12.77-21.4 7.13-39.35 10.23-75.94 14.23l-12.05 1.3c-50.14 5.49-74.41 10.17-107.43 22.82l-1.65 0.65c-36.99 14.35-55.7 26.04-81.44 47.96l-7.31 6.23c-24.34 20.68-39.35 30.6-69.15 43.58-23.54 10.29-47.02 18.1-72.64 24.68-8.5 2.17-17.12 4.22-26.75 6.29l-9.32 1.98-26.66 5.46-6.24 1.3c-22.1 4.68-35.98 8.37-49.13 13.48-30.88 11.97-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.6c36.29-31.4 70.44-53.29 102.42-65.66l2.51-0.93c12.6-4.71 26.17-8.28 46.96-12.68l36.53-7.53c12.01-2.54 22.32-4.9 32.5-7.5 25.44-6.51 48.73-14.29 72.12-24.49 29.47-12.86 44.21-22.63 68.33-43.09l5.69-4.87c26.29-22.54 45.09-34.6 81.75-48.98l2.26-0.93c35.34-13.7 60.23-18.35 115.04-24.21L622 516.6c33.66-3.72 50.9-6.82 71.17-13.64 10.09-3.38 19.78-7.5 29.26-12.52l3.82-2.05c24.06-12.96 35.31-21.17 54.82-38.19l6.79-5.92 0.64-0.59c17.52-15.13 33.87-25.57 64.45-39.43 40.92-18.53 86.96-27.33 138.14-26.37z m-3-9.92l3.21 0.06-0.09 3.47c-51.97-1.39-98.56 7.28-139.87 26.01l-4.13 1.86c-27 12.52-42.28 22.32-58.3 36.02l-3.97 3.41-4.68 4.12c-20.67 18.04-32.25 26.35-59.25 40.67-9.63 5.11-19.51 9.3-29.78 12.74l-3.67 1.24c-19.05 6.04-36.32 9.02-68.15 12.55l-18.65 2.01c-48.49 5.39-72.46 10.11-104.95 22.57l-1.65 0.62c-36.99 14.38-55.7 26.1-81.44 47.96l-3.82 3.32c-26.48 22.69-41.43 32.92-72.64 46.53-23.54 10.29-47.02 18.1-72.61 24.68l-5.14 1.3c-6.88 1.7-13.94 3.32-21.61 4.96l-10.09 2.17c-9.26 1.92-25.89 5.27-25.93 5.27l-6.24 1.33c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.97-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.6c36.29-31.4 70.44-53.29 102.42-65.66l2.51-0.96c13.02-4.84 27.09-8.49 49.07-13.08l34.42-7.1 5.87-1.24c9.57-2.08 18.16-4.09 26.63-6.26 25.44-6.51 48.73-14.29 72.15-24.49 30.14-13.14 44.85-23.06 70.01-44.55l3.97-3.41c26.84-23 45.86-35.09 84.01-49.91l3.36-1.24c32.5-12.34 56.99-16.99 106.54-22.41l16.17-1.77c33.63-3.72 50.87-6.82 71.14-13.64 10.09-3.38 19.81-7.5 29.26-12.52l3.82-2.05c19.28-9.9 37.2-22.3 53.32-36.89l8.25-7.22 0.67-0.59c17.52-15.13 33.87-25.57 64.45-39.43 40.99-18.53 87-27.33 138.18-26.37z m-2.99-9.92l3.21 0.06-0.09 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-27 12.52-42.28 22.32-58.3 36.02l-3.94 3.41-4.71 4.12c-20.64 18.04-32.25 26.35-59.25 40.67-9.63 5.11-19.51 9.3-29.78 12.74l-3.67 1.24c-19.02 6.04-36.32 9.02-68.15 12.55l-18.65 2.01c-49.31 5.49-73.28 10.26-106.61 23.22l-4.43 1.74c-34.12 13.61-52.31 25.2-76.98 46.19l-3.85 3.32c-26.48 22.69-41.43 32.92-72.64 46.53-23.54 10.29-47.02 18.1-72.61 24.68l-5.14 1.3a803.77 803.77 0 0 1-21.61 4.96l-10.09 2.17-25.89 5.27-6.27 1.33c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.93-63.87 32.92-98.96 62.93l-2.45 2.11-2.2-2.63c36.26-31.37 70.41-53.26 102.42-65.63l2.48-0.96c13.02-4.84 27.09-8.49 49.07-13.11l34.42-7.07 5.87-1.24c9.57-2.08 18.16-4.09 26.63-6.26 25.44-6.51 48.73-14.29 72.15-24.49 29.44-12.86 44.18-22.63 68.33-43.09l5.69-4.87c26.29-22.54 45.06-34.6 81.72-48.98l2.26-0.93c35.34-13.7 60.23-18.35 115.04-24.21l11.04-1.21c33.63-3.72 50.87-6.82 71.14-13.64 10.09-3.38 19.81-7.5 29.29-12.52l3.79-2.05c24.67-13.3 35.89-21.58 56.34-39.52l4.59-4.03 1.31-1.15c17.55-15.13 33.87-25.57 64.45-39.43 40.97-18.53 87.01-27.33 138.16-26.37z m-3-9.92l3.21 0.06-0.09 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-27 12.49-42.28 22.32-58.3 36.02l-3.94 3.41-4.68 4.12c-20.67 18.04-32.28 26.35-59.28 40.64-9.56 5.08-19.52 9.35-29.78 12.77l-2.45 0.81c-19.54 6.35-36.84 9.36-69.34 12.99l-18.65 2.01c-49.34 5.49-73.31 10.26-106.64 23.22l-4.43 1.74c-33.38 13.33-51.51 24.71-75.42 44.86l-8.87 7.59c-24.37 20.68-39.35 30.6-69.18 43.58-23.54 10.29-47.02 18.1-72.61 24.68l-5.14 1.27c-6.88 1.7-13.94 3.35-21.61 5.02l-10.06 2.11-6.27 1.3-6.88 1.39-12.78 2.63-6.24 1.3c-22.13 4.65-36.01 8.37-49.16 13.48-30.88 11.93-63.87 32.92-98.96 62.93l-2.45 2.11-2.2-2.63c36.29-31.37 70.41-53.26 102.42-65.66l2.51-0.93c13.42-4.99 27.97-8.71 51.18-13.55l32.28-6.63 5.87-1.24c9.57-2.11 18.16-4.09 26.63-6.26 25.44-6.51 48.73-14.29 72.15-24.49 29.44-12.86 44.18-22.63 68.33-43.09l5.69-4.87c26.29-22.54 45.09-34.6 81.72-48.98l2.26-0.93c34.24-13.27 58.67-18.04 109.94-23.65l16.14-1.77c33.63-3.72 50.87-6.82 71.14-13.64 10.12-3.41 19.81-7.5 29.29-12.52l3.79-2.05c24.67-13.33 35.89-21.58 56.34-39.52l3.88-3.41 2.02-1.77 2.45-2.08c16.63-14.04 32.87-24.15 62.03-37.35 40.92-18.52 86.99-27.32 138.14-26.36z m-3-9.92l3.21 0.06-0.09 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-26.96 12.49-42.25 22.32-58.3 36.02l-3.94 3.41-4.68 4.12c-20.67 18.04-32.28 26.35-59.25 40.64-9.66 5.11-19.51 9.3-29.81 12.77l-2.45 0.81c-19.51 6.32-36.84 9.36-69.34 12.99l-18.65 2.01c-49.31 5.49-73.31 10.26-106.64 23.22l-4.43 1.74c-33.35 13.3-51.51 24.71-75.42 44.86l-8.87 7.59c-24.37 20.68-39.35 30.6-69.15 43.58-23.57 10.29-47.05 18.1-72.64 24.68l-5.14 1.27c-7.73 1.92-15.68 3.72-24.52 5.64l-33.08 6.82c-25.83 5.3-41.03 9.24-55.37 14.79-30.88 11.93-63.9 32.92-98.99 62.93l-2.45 2.11-2.2-2.63c36.29-31.37 70.41-53.26 102.42-65.66 14.12-5.46 29.04-9.36 53.72-14.48l32.28-6.63 5.87-1.24c9.57-2.11 18.13-4.09 26.6-6.29a462.29 462.29 0 0 0 72.15-24.49l4-1.77c26.84-12 41.3-21.76 64.32-41.29l5.69-4.87c26.84-23 45.86-35.09 83.98-49.91l3.36-1.24c32.5-12.34 56.99-16.99 106.57-22.44l16.14-1.74c33.63-3.72 50.87-6.82 71.14-13.64 10.12-3.41 19.81-7.5 29.29-12.55l3.79-2.01c24.67-13.33 35.92-21.58 56.34-39.52l5.26-4.62 0.67-0.56c17.52-15.13 33.84-25.57 64.45-39.43 40.91-18.54 86.98-27.34 138.13-26.41l0.03 0.02z m-2.99-9.92l3.21 0.06-0.09 3.44c-51.94-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-26.96 12.49-42.25 22.32-58.3 35.99l-3.94 3.41-4.68 4.15c-20.67 18.04-32.28 26.35-59.25 40.64-9.66 5.11-19.51 9.3-29.81 12.77l-2.45 0.81c-19.51 6.32-36.84 9.36-69.34 12.99l-18.65 2.01c-49.31 5.49-73.28 10.26-106.64 23.22l-4.43 1.74c-33.35 13.3-51.51 24.71-75.42 44.86l-8.87 7.59c-24.37 20.65-39.35 30.6-69.15 43.58-23.57 10.29-47.05 18.1-72.64 24.68-9.39 2.39-18.86 4.59-29.66 6.91l-33.08 6.82c-25.83 5.3-41.03 9.21-55.37 14.79-30.88 11.93-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.63c36.29-31.37 70.41-53.26 102.42-65.66 12.9-4.96 26.41-8.68 47.39-13.14l38.61-7.97 5.87-1.24c9.57-2.11 18.13-4.09 26.6-6.29a462.29 462.29 0 0 0 72.15-24.49l4-1.77c26.84-12 41.3-21.76 64.32-41.29l5.69-4.9c26.84-22.97 45.86-35.06 83.98-49.88l4.98-1.86c31.18-11.69 55.37-16.31 102.45-21.54l18.65-2.01c33.63-3.72 50.87-6.82 71.14-13.64 10.12-3.41 19.81-7.5 29.29-12.55l3.79-2.01c24.06-12.99 35.34-21.17 54.82-38.19l7.46-6.51c17.52-15.13 33.84-25.57 64.45-39.43 40.94-18.54 86.98-27.34 138.13-26.41l0.01 0.01z m-3-9.92l3.21 0.06-0.09 3.44c-51.94-1.36-98.56 7.32-139.84 26.04l-4.16 1.86c-26.96 12.49-42.25 22.32-58.27 35.99l-3.24 2.79-6.91 6.08c-19.75 17.14-31.43 25.36-57.78 39.37-9.57 5.06-19.52 9.33-29.78 12.74l-2.45 0.81c-19.51 6.32-36.84 9.36-69.34 12.99l-18.65 2.01c-48.49 5.39-72.46 10.11-104.95 22.57l-1.65 0.62c-36.26 14.07-54.94 25.61-79.89 46.62l-8.87 7.59c-24.37 20.65-39.35 30.57-69.15 43.58-23.54 10.26-47.05 18.1-72.64 24.64-9.36 2.42-18.86 4.62-29.66 6.94l-33.08 6.82c-25.83 5.3-41.03 9.21-55.37 14.76-30.88 11.97-63.9 32.95-98.96 62.96l-2.45 2.11-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 13.3-5.15 27.3-8.9 49.47-13.61l36.53-7.5 5.87-1.24c9.57-2.11 18.13-4.12 26.6-6.29 25.47-6.51 48.76-14.26 72.15-24.49l4-1.77c27.51-12.31 42.01-22.26 66.04-42.78l3.97-3.41c26.84-22.97 45.86-35.06 84.01-49.88l3.33-1.27c31.95-12.09 56.16-16.8 104.07-22.13l18.65-2.01c33.66-3.72 50.87-6.82 71.14-13.64 10.12-3.41 19.81-7.53 29.29-12.55l3.82-2.01c24.06-12.99 35.31-21.17 54.82-38.19l7.43-6.51 2.45-2.08c16.63-14.04 32.83-24.18 62-37.35 40.94-18.57 86.98-27.34 138.13-26.41l0.01 0.02z m-2.96-9.92l3.18 0.03-0.09 3.47c-51.94-1.36-98.53 7.32-139.84 26.04-29.59 13.39-45.61 23.5-62.43 37.85l-3.21 2.79-6.94 6.08c-19.75 17.14-31.43 25.36-57.75 39.37-9.63 5.08-19.51 9.3-29.78 12.71l-2.45 0.84c-19.93 6.45-37.6 9.49-71.42 13.21l-16.6 1.8c-49.31 5.49-73.28 10.26-106.61 23.19-36.26 14.07-54.94 25.61-79.85 46.62L387.5 530c-24.37 20.68-39.38 30.6-69.18 43.62-23.54 10.26-47.02 18.1-72.64 24.64l-5.14 1.3c-7.73 1.92-15.68 3.72-24.52 5.61l-13.57 2.85-19.51 3.98c-25.8 5.33-41.03 9.24-55.37 14.79-30.88 11.97-63.9 32.95-98.96 62.93l-2.45 2.14-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 13.33-5.15 27.3-8.9 49.47-13.61l36.53-7.5 5.87-1.24c9.57-2.11 18.16-4.12 26.63-6.29 25.44-6.51 48.73-14.26 72.12-24.49 30.14-13.14 44.88-23.06 70.01-44.51l4-3.41c26.29-22.54 45.09-34.6 81.75-49.01l2.26-0.9c35.34-13.7 60.23-18.35 115.04-24.24l13.02-1.39c32.35-3.66 49.28-6.76 69.12-13.42 10.15-3.41 19.81-7.53 29.29-12.55 26.75-14.17 38.15-22.32 58.64-40.21l7.43-6.51 2.45-2.11c16.63-14.01 32.83-24.12 62-37.35 40.95-18.57 86.99-27.34 138.17-26.38z m-3-9.92l3.21 0.03-0.09 3.47c-51.97-1.36-98.56 7.32-139.87 26.04-28.89 13.05-44.82 23-61.24 36.83l-3.06 2.63-8.25 7.25c-19.75 17.14-31.46 25.36-57.78 39.34-9.63 5.11-19.51 9.3-29.78 12.77l-2.45 0.81c-20.33 6.6-38.31 9.61-73.5 13.42l-9.51 1.02c-52.74 5.73-77.19 10.38-111.62 23.75-36.26 14.07-54.94 25.61-79.85 46.62l-8.87 7.56c-24.37 20.68-39.38 30.6-69.18 43.62-23.54 10.26-47.02 18.1-72.64 24.64-9.36 2.42-18.86 4.62-29.66 6.91l-33.08 6.82c-25.8 5.33-41.03 9.24-55.34 14.79-30.88 11.97-63.9 32.95-98.99 62.93l-2.45 2.14-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 13.33-5.15 27.3-8.9 49.47-13.61l36.53-7.5c12.01-2.54 22.32-4.93 32.5-7.53 25.44-6.51 48.73-14.26 72.15-24.49 29.44-12.83 44.18-22.6 68.3-43.09l5.72-4.87c26.29-22.51 45.06-34.56 81.72-48.98l2.26-0.9c35.34-13.73 60.23-18.35 115.04-24.24l13.02-1.43c32.35-3.63 49.28-6.73 69.15-13.39 10.09-3.41 19.81-7.53 29.26-12.55 26.75-14.17 38.15-22.32 58.64-40.21l7.43-6.51 2.45-2.11c16.63-14.01 32.83-24.12 62-37.35 40.98-18.53 86.99-27.3 138.17-26.34z m-3-9.95l3.21 0.06-0.09 3.47c-51.97-1.36-98.56 7.32-139.87 26.04-28.89 13.05-44.82 23-61.24 36.83l-3.06 2.63-6.79 5.92c-20.64 18.07-32.25 26.35-59.25 40.67-9.63 5.11-19.51 9.3-29.78 12.77l-2.45 0.81c-20.33 6.6-38.31 9.61-73.5 13.42l-9.48 1.02c-52.77 5.7-77.23 10.38-111.65 23.75-36.99 14.38-55.7 26.07-81.41 47.96l-3.85 3.29c-26.48 22.72-41.43 32.95-72.64 46.56-23.54 10.26-47.02 18.1-72.61 24.64-9.39 2.42-18.86 4.62-29.66 6.91l-9.42 1.98-23.66 4.84c-25.83 5.33-41.06 9.24-55.4 14.79-30.88 11.97-63.87 32.95-98.96 62.93l-2.45 2.14-2.23-2.63c36.29-31.37 70.44-53.26 102.42-65.66 13.33-5.15 27.3-8.9 49.47-13.61l36.53-7.5c12.01-2.54 22.32-4.93 32.5-7.53 25.44-6.51 48.73-14.26 72.15-24.49 30.14-13.14 44.85-23.06 70.01-44.51l3.97-3.41c26.87-23 45.86-35.09 84.01-49.91l3.36-1.27c33.6-12.74 58.64-17.27 111.68-22.94l13.02-1.46c32.35-3.63 49.28-6.73 69.15-13.39 10.09-3.41 19.81-7.53 29.29-12.55l3.79-2.05c24.06-12.96 35.34-21.14 54.82-38.16l7.43-6.51 2.45-2.11c16.63-14.01 32.87-24.12 62-37.35 41.01-18.55 87.05-27.35 138.19-26.39z m-2.99-9.92l3.21 0.06-0.09 3.47c-51.97-1.36-98.56 7.32-139.87 26.04-28.89 13.05-44.82 23-61.24 36.83l-3.06 2.63-6.76 5.92c-20.67 18.07-32.28 26.35-59.28 40.67-9.63 5.11-19.47 9.3-29.78 12.77-21.37 7.13-39.35 10.23-75.94 14.23l-12.01 1.3c-50.17 5.49-74.41 10.17-107.46 22.82l-1.65 0.65c-36.99 14.35-55.7 26.07-81.41 47.96l-3.85 3.29c-26.44 22.69-41.43 32.95-72.64 46.56-23.54 10.26-47.02 18.07-72.61 24.64-9.39 2.42-18.86 4.62-29.66 6.91l-9.42 1.98-23.66 4.84c-25.83 5.33-41.06 9.24-55.4 14.79-30.88 11.97-63.87 32.92-98.96 62.93l-2.45 2.14-2.2-2.63c36.29-31.37 70.41-53.29 102.42-65.66l2.51-0.93c12.57-4.71 26.17-8.28 46.93-12.68l36.53-7.53c12.01-2.51 22.32-4.9 32.5-7.5 25.44-6.51 48.73-14.26 72.15-24.49 28.77-12.55 43.5-22.16 66.65-41.66l7.34-6.29c26.87-22.97 45.86-35.06 84.01-49.88l3.36-1.27c33.63-12.74 58.64-17.27 111.68-22.97l13.05-1.43c32.31-3.63 49.25-6.76 69.09-13.39 10.15-3.41 19.84-7.53 29.32-12.55l3.79-2.05c24.06-12.96 35.34-21.14 54.82-38.19l7.43-6.51 2.45-2.08c16.63-14.01 32.87-24.15 62.03-37.35 40.91-18.55 86.98-27.35 138.13-26.39z m-3-9.92l3.21 0.06-0.09 3.47c-51.97-1.36-98.56 7.28-139.87 26.01-28.86 13.08-44.82 23.03-61.21 36.86l-3.06 2.6-6.79 5.95c-20.67 18.07-32.28 26.35-59.25 40.67-9.66 5.11-19.51 9.3-29.81 12.77-21.37 7.13-39.32 10.23-75.94 14.23l-12.01 1.3c-50.99 5.58-75.21 10.32-109.11 23.47-36.99 14.35-55.67 26.04-81.41 47.96l-7.34 6.23c-24.34 20.68-39.32 30.6-69.12 43.62-23.57 10.26-47.05 18.07-72.64 24.64-8.53 2.17-17.12 4.22-26.75 6.29l-12.32 2.6-23.66 4.84-6.24 1.3c-22.13 4.68-36.01 8.37-49.13 13.48-30.88 11.97-63.9 32.92-98.99 62.93l-2.45 2.14-2.2-2.63c36.29-31.4 70.41-53.29 102.42-65.66l2.51-0.93c12.57-4.71 26.17-8.28 46.93-12.68l36.56-7.53c11.98-2.54 22.32-4.9 32.5-7.5 25.41-6.51 48.73-14.26 72.12-24.49 29.47-12.86 44.18-22.63 68.33-43.09l5.69-4.87c26.29-22.54 45.09-34.6 81.72-48.98l2.26-0.93c35.37-13.7 60.26-18.32 115.07-24.21l11.01-1.21c33.63-3.72 50.87-6.82 71.14-13.64 10.12-3.38 19.81-7.5 29.29-12.52l3.79-2.05c24.67-13.3 35.92-21.58 56.34-39.49l5.26-4.65 0.67-0.56c17.52-15.13 33.84-25.57 64.45-39.43 40.9-18.53 86.98-27.33 138.12-26.37z m-2.99-9.92l3.21 0.06-0.09 3.47c-51.94-1.39-98.56 7.28-139.87 26.01l-4.13 1.89c-26.96 12.49-42.25 22.32-58.3 35.96l-3.94 3.44-4.68 4.12c-20.67 18.04-32.28 26.35-59.25 40.67-9.66 5.11-19.51 9.3-29.81 12.77l-3.67 1.18c-19.02 6.08-36.29 9.05-68.11 12.59l-16.2 1.77c-50.14 5.49-74.38 10.17-107.4 22.82l-1.68 0.65c-36.99 14.35-55.67 26.04-81.41 47.92l-3.85 3.32c-26.44 22.69-41.43 32.92-72.61 46.53-23.57 10.29-47.05 18.1-72.64 24.68l-5.14 1.3a676.92 676.92 0 0 1-21.61 4.96l-13.12 2.79-22.87 4.65-6.24 1.33c-22.1 4.68-35.98 8.37-49.13 13.48-30.88 11.97-63.9 32.92-98.99 62.93l-2.45 2.11-2.2-2.6c36.29-31.4 70.41-53.29 102.42-65.66l2.51-0.93c12.57-4.71 26.17-8.28 46.96-12.71l36.53-7.5 5.87-1.24c9.57-2.08 18.13-4.09 26.6-6.26 25.44-6.51 48.76-14.29 72.15-24.49l4-1.77c26.84-12.03 41.3-21.79 64.32-41.32l5.69-4.87c26.29-22.54 45.09-34.6 81.72-48.98l2.26-0.93c35.37-13.7 60.26-18.35 115.07-24.21l8.99-0.96c34.97-3.84 52.49-6.94 73.16-13.86 10.12-3.41 19.81-7.53 29.29-12.55l3.79-2.05c19.29-9.9 37.22-22.3 53.35-36.89l8.25-7.22 0.67-0.59c17.52-15.13 33.84-25.57 64.45-39.43 40.94-18.54 86.98-27.34 138.13-26.38z m-3-9.92l3.21 0.06-0.09 3.47c-51.94-1.39-98.56 7.28-139.84 26.01l-4.16 1.86c-26.96 12.52-42.25 22.32-58.27 36.02l-3.97 3.41-4.68 4.12c-20.67 18.04-32.25 26.35-59.25 40.67-9.66 5.11-19.51 9.3-29.81 12.74l-3.67 1.24c-19.02 6.04-36.29 9.02-68.11 12.55l-18.65 2.01c-48.49 5.39-72.49 10.11-104.95 22.57l-1.65 0.62c-36.99 14.38-55.7 26.1-81.44 47.96l-3.85 3.32c-26.44 22.69-41.43 32.92-72.61 46.53a470.092 470.092 0 0 1-72.64 24.68l-5.14 1.3c-6.88 1.67-13.91 3.32-21.61 4.96l-13.12 2.79-22.87 4.66-6.24 1.33c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.97-63.9 32.92-98.96 62.93l-2.45 2.11-2.23-2.63c36.29-31.37 70.41-53.26 102.42-65.63l2.51-0.96c13.45-4.96 27.97-8.71 51.21-13.55l32.28-6.63 5.87-1.24c9.57-2.08 18.13-4.09 26.6-6.26 25.47-6.51 48.76-14.29 72.15-24.49l4-1.77c26.84-12.03 41.3-21.79 64.32-41.32l5.69-4.87c26.29-22.54 45.09-34.6 81.72-48.98l2.29-0.93c34.24-13.27 58.64-18.04 109.91-23.65l16.17-1.77c33.63-3.72 50.84-6.82 71.11-13.64 10.12-3.38 19.81-7.5 29.29-12.52l3.82-2.05c24.67-13.3 35.89-21.58 56.31-39.52l4.59-4.03 1.35-1.15c17.52-15.13 33.87-25.57 64.45-39.43 40.93-18.54 86.97-27.34 138.12-26.38z m-2.97-9.92l3.18 0.06-0.09 3.44c-51.94-1.36-98.53 7.32-139.84 26.04l-4.16 1.86c-26.96 12.52-42.25 22.32-58.27 36.02l-2.54 2.17-6.11 5.36c-20.67 18.04-32.25 26.35-59.25 40.64-9.57 5.1-19.54 9.37-29.81 12.77l-2.45 0.81c-19.51 6.35-36.84 9.39-69.34 12.99l-18.65 2.01c-48.49 5.39-72.46 10.11-104.95 22.57l-1.65 0.62c-36.99 14.38-55.7 26.1-81.44 47.96l-3.85 3.29c-26.44 22.72-41.39 32.95-72.61 46.56-23.54 10.29-47.02 18.1-72.64 24.68-8.5 2.17-17.12 4.18-26.75 6.29l-10.03 2.11-25.95 5.33-6.24 1.3c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.93-63.9 32.92-98.96 62.93l-2.45 2.11L3 619.75c36.29-31.37 70.44-53.26 102.42-65.63l2.51-0.96c13.45-4.99 27.97-8.71 51.21-13.55l32.28-6.63 5.87-1.24c9.57-2.08 18.16-4.09 26.63-6.26 25.44-6.51 48.73-14.29 72.12-24.49l4-1.77c26.84-12.03 41.33-21.79 64.32-41.32l5.69-4.87c26.84-23 45.86-35.09 84.01-49.91l3.33-1.24c33.63-12.77 58.64-17.3 111.71-22.97l8.99-0.99c35.01-3.81 52.49-6.91 73.16-13.86 10.12-3.38 19.81-7.5 29.29-12.52l3.82-2.05c24.67-13.3 35.89-21.58 56.31-39.52l4.59-4.03 1.35-1.15c17.52-15.13 33.87-25.57 64.45-39.43 40.93-18.54 86.97-27.34 138.14-26.38z m-2.99-9.92l3.18 0.06-0.06 3.44c-51.97-1.36-98.56 7.32-139.87 26.04l-4.13 1.86c-27 12.49-42.28 22.32-58.3 36.02l-3.21 2.79-6.94 6.04c-19.72 17.14-31.43 25.39-57.75 39.37-9.63 5.08-19.51 9.3-29.78 12.74l-2.45 0.81c-19.54 6.35-36.87 9.36-69.37 12.99l-18.65 2.01c-48.49 5.39-72.46 10.11-104.95 22.57l-1.65 0.62c-36.26 14.1-54.94 25.61-79.85 46.62l-8.87 7.59c-24.37 20.68-39.38 30.6-69.18 43.58-23.54 10.29-47.02 18.1-72.64 24.68-8.5 2.17-17.12 4.18-26.72 6.29l-10.09 2.11-25.93 5.3-6.24 1.33c-22.1 4.65-35.98 8.37-49.13 13.48-30.88 11.93-63.9 32.92-98.96 62.93l-2.45 2.11L0 609.83c36.29-31.37 70.44-53.26 102.42-65.66 14.15-5.46 29.04-9.36 53.72-14.48l32.28-6.63 5.87-1.24c9.57-2.11 18.16-4.09 26.63-6.26 25.44-6.51 48.73-14.29 72.15-24.49l3.97-1.8c27.51-12.28 42.04-22.26 66.04-42.75l3.97-3.41c26.29-22.54 45.09-34.6 81.75-48.98l2.26-0.93c34.24-13.27 58.67-18.04 109.91-23.68l16.17-1.74c33.63-3.72 50.87-6.82 71.14-13.64 10.09-3.41 19.81-7.5 29.26-12.52l3.82-2.05c19.28-9.9 37.2-22.3 53.32-36.89l8.93-7.81 2.45-2.08c16.63-14.04 32.83-24.15 62-37.35 40.94-18.54 86.98-27.34 138.16-26.41v0.03z' fill='#00B377' opacity='.348'/></g>`,
      },
      {
        id: ICON_IDS.other.expire,
        name: '过期',
        category: [IconCategory.OTHER],
        path: `<path d='M835.072 422.912v24.576l20.992-10.752 22.528 7.68-3.584-24.576 13.824-19.968-23.04-4.096-13.824-19.968-10.752 22.016-22.528 7.68 16.384 17.408m0 0M403.456 491.52c-4.096 6.144-7.68 11.264-11.264 15.36-13.824 16.896-20.992 19.456-42.496 8.704-25.6-12.288-48.64-25.088-72.704-39.936-20.992-12.288-24.064-21.504-12.288-43.52l43.52-79.36 17.408 10.24-10.752 19.968 81.408 44.544 19.456-35.328-103.424-56.32 9.728-17.408L442.88 384 404.48 454.144 305.664 399.872l-20.48 37.376c-7.168 12.8-6.144 16.384 7.168 24.064 19.968 12.288 40.448 23.552 61.952 33.792 14.336 6.656 16.384 6.144 24.576-4.096 3.072-4.096 7.168-10.24 10.24-15.36l14.336 15.872zM520.704 528.384c-3.072 28.16 8.704 54.272 34.816 84.48l-19.456 12.288c-22.528-28.672-34.816-56.32-34.816-86.528-21.504 13.824-52.224 20.992-93.696 16.896l-1.024-22.528c42.496 4.096 72.704-1.024 91.136-17.408l-58.88-32.256 9.216-16.896 61.44 33.792 14.848-26.112-32.256-17.408c-8.704 6.656-16.896 12.288-25.6 17.408l-10.24-16.896c18.432-9.728 38.4-26.624 52.736-41.472l14.336 13.312c-5.12 5.12-10.24 10.24-15.36 14.848l25.6 14.336c5.632-10.24 10.752-19.456 14.848-26.624l17.408 10.24-14.848 26.112 50.688 27.648-9.216 16.896-50.688-27.648-14.848 26.112 58.88 32.256-9.216 16.896-55.808-31.744zM627.712 655.36c-1.024-7.168-3.072-16.384-4.608-26.112-16.384 7.168-33.792 11.776-53.76 14.848l-2.56-19.456c20.48-2.048 37.376-6.144 52.736-13.312-2.048-11.776-4.608-23.04-6.656-32.256l16.896-4.608c2.048 8.192 4.096 17.408 6.656 27.136 7.168-5.12 14.336-10.752 20.48-17.408l9.728 10.752c-1.024-13.312-3.584-30.208-5.632-38.912l15.872-2.048c3.072 11.776 6.144 37.888 7.68 51.2l-16.896 3.584-0.512-9.216c-8.704 8.192-17.408 14.848-26.624 20.48 2.048 10.752 4.096 20.48 5.12 29.184l-17.92 6.144z m30.208-102.4c-15.36 10.752-34.304 19.968-50.688 26.112l-5.12-16.384c14.336-5.12 32.768-15.36 46.592-25.088l9.216 15.36z m43.52 13.312l-73.216-39.936 9.216-16.896 29.696 16.384c2.56-7.68 4.096-17.408 5.12-22.528l16.896 6.656c-1.024 5.632-3.072 16.896-5.12 25.088l27.136 14.848-9.728 16.384z m21.504 141.824l-18.944 9.216c-7.68-17.92-13.312-35.328-16.384-51.2-14.848 6.144-32.768 10.752-53.248 13.312l-3.072-20.48c22.528-2.048 39.424-6.144 54.272-12.8-0.512-15.872 1.024-31.744 6.144-48.128-1.536 1.024-3.072 2.048-4.608 2.56l-2.56-18.944c17.408-9.728 41.984-30.208 55.296-46.592l15.36 10.752c-6.656 7.68-13.312 14.336-19.968 20.48l46.08 25.088-9.216 16.896-11.264-6.144c-17.92 25.088-34.304 42.496-53.76 54.272 1.536 16.384 7.68 33.28 15.872 51.712z m-8.704-125.44c-6.656 18.432-9.728 35.84-9.728 52.736 14.848-10.24 26.624-24.064 39.936-42.496l-25.6-13.824-4.608 3.584zM573.44 198.144l24.064 2.56 16.384 18.944 8.704-22.016 22.016-8.704-18.944-16.384-2.56-24.064-20.48 12.288-23.552-6.144 6.144 23.552-11.776 19.968m0 0M718.336 267.264l20.992 11.776 7.68 23.552 16.896-16.896 23.552 0.512-10.752-22.528 7.168-23.04-23.552 3.072-19.456-14.848-3.584 24.064-18.944 14.336m0 0M438.272 187.392v23.552l22.016-10.24 23.552 8.192-3.584-23.552 14.848-18.944-24.576-4.608-14.848-18.944-11.264 20.48-23.552 6.656 17.408 17.408m0 0M437.76 842.24l-24.064-2.56-15.872-18.432-8.704 22.016-22.016 8.704 18.432 15.872 2.56 24.064 20.48-12.288 23.552 6.144-6.144-23.552 11.776-19.968m0 0M302.592 765.952l-20.992-11.776-7.168-23.552-16.896 16.896-23.552-0.512 10.752 22.016-7.168 23.04 23.552-3.072 18.944 14.848 3.584-24.064 18.944-13.824m0 0'  fill='#d4237a'/><path d='M193.536 619.52v-24.576l-20.992 10.752-22.528-7.68 3.584 24.576-13.824 19.968 23.04 4.096 13.824 19.968 10.752-22.016 22.528-7.68-16.384-17.408m0 0' fill='#d4237a'/><path d='M871.936 150.528C672.768-48.64 348.672-48.64 149.504 150.528c-199.168 199.168-199.168 523.264 0 722.944 199.168 199.168 523.264 199.168 722.944 0 198.656-199.68 198.656-523.776-0.512-722.944M173.056 849.408c-185.856-185.856-185.856-488.448 0-674.816 185.856-185.856 488.448-185.856 674.816 0 185.856 185.856 185.856 488.96 0 674.816-185.856 185.856-488.448 185.856-674.816 0m0 0' fill='#d4237a'/><path d='M813.568 208.896c-166.912-166.912-438.784-166.912-606.208 0-166.912 166.912-166.912 438.784 0 606.208 166.912 166.912 438.784 166.912 606.208 0 167.424-167.424 166.912-439.296 0-606.208M221.184 801.28c-159.744-159.744-159.744-419.328 0-578.56 159.744-159.744 419.328-159.744 578.56 0 159.744 159.744 159.744 419.328 0 578.56-59.392 59.392-132.608 96.768-209.408 111.616l9.728-20.992 23.04-8.192-18.432-15.872-1.536-23.552-21.504 11.776-24.064-6.144 5.12 23.04-13.312 19.456 24.576 2.56 15.36 17.92c-128.512 25.6-267.776-11.776-368.128-111.616m0 0' fill='#d4237a'/><path d='M686.592 335.872c40.448 40.448 66.048 94.208 71.68 151.552l16.896-1.536c-6.144-60.928-33.28-118.272-76.8-161.792C608.256 233.984 466.432 220.16 361.472 291.84l9.728 13.824c98.304-66.56 230.912-54.272 315.392 30.208m0 0' fill='#d4237a'/><path d='M334.848 687.616c-40.448-40.448-66.048-94.208-71.68-151.552l-16.896 1.536c6.144 60.928 33.28 118.272 76.288 161.792 90.112 90.112 231.936 103.424 336.896 32.256l-9.728-13.824c-97.792 67.072-230.912 54.272-314.88-30.208m0 0' fill='#d4237a'/>`,
      },
      {
        id: ICON_IDS.other.superSearch,
        name: '超级搜索',
        category: [IconCategory.OTHER],
        path: `<path d='M833.408 370.773333l-10.517333-24.149333a186.090667 186.090667 0 0 0-94.677334-96l-32.405333-14.4c-17.514667-7.786667-17.514667-33.28 0-41.066667l30.592-13.589333a186.218667 186.218667 0 0 0 96.042667-99.2l10.816-26.069333a21.610667 21.610667 0 0 1 40.149333 0l10.816 26.069333a186.24 186.24 0 0 0 96.042667 99.2l30.592 13.589333c17.536 7.808 17.536 33.28 0 41.066667l-32.426667 14.421333a186.090667 186.090667 0 0 0-94.656 96l-10.517333 24.106667a21.610667 21.610667 0 0 1-39.850667 0zM832 789.333333V469.333333h85.333333v341.333334a85.333333 85.333333 0 0 1-85.333333 85.333333H192a85.333333 85.333333 0 0 1-85.333333-85.333333V213.333333a85.333333 85.333333 0 0 1 85.333333-85.333333h405.333333v85.333333H213.333333a21.333333 21.333333 0 0 0-21.333333 21.333334v554.666666a21.333333 21.333333 0 0 0 21.333333 21.333334h597.333334a21.333333 21.333333 0 0 0 21.333333-21.333334zM617.152 369.301333c20.202667 23.104 30.314667 55.744 30.314667 97.92V685.653333h-80.64v-26.816a136.448 136.448 0 0 1-26.474667 18.538667l-0.128 0.064-0.128 0.064c-22.336 11.285333-47.445333 16.917333-75.306667 16.917333-34.346667 0-61.504-9.6-81.493333-28.778666-21.568-19.050667-32.362667-43.84-32.362667-74.389334 0-40.469333 14.997333-71.573333 44.992-93.333333 25.92-19.84 62.762667-30.4 110.528-31.765333l56.277334-1.557334v-1.728c0-19.285333-4.522667-33.429333-13.589334-42.410666-9.088-9.002667-23.402667-13.504-42.944-13.504-17.130667 0-30.613333 3.157333-40.448 9.493333-11.157333 6.976-18.133333 17.770667-20.949333 32.341333l-2.026667 10.453334-84.608-7.786667 2.304-12.629333c7.082667-38.698667 24.917333-67.157333 53.546667-85.354667 23.509333-15.893333 55.616-23.850667 96.277333-23.850667 47.872 0 83.477333 13.226667 106.816 39.68l0.042667 0.021334z m-106.026667 168.533334c-48.746667 1.066667-73.130667 18.112-73.130666 51.093333-0.149333 9.002667 3.157333 16.042667 9.898666 21.098667l0.341334 0.256 0.341333 0.298666c7.36 6.4 17.429333 9.621333 30.208 9.621334 22.826667 0 42.56-7.552 59.221333-22.634667 16.490667-14.933333 24.746667-33.130667 24.746667-54.570667v-6.698666l-51.541333 1.536h-0.085334z' fill='#d81e06'/>`,
      },
      {
        id: ICON_IDS.other.dotsThree,
        name: '三个点',
        category: [IconCategory.OTHER],
        path: `<circle cx='8' cy='8' r='7' fill='#FF5F56' stroke='#E0443E' stroke-width='0.5'/><!-- 黄色圆点 --><circle cx='30' cy='8' r='7' fill='#FFBD2E' stroke='#DEA123' stroke-width='0.5'/><circle cx='52' cy='8' r='7' fill='#27C93F' stroke='#1AAB29' stroke-width='0.5'/>`,
        metadata: {
          viewBox: '0 0 60 16',
        },
      },
      {
        id: ICON_IDS.other.script,
        name: '脚本',
        category: [IconCategory.OTHER],
        path: `<path d='M934 271c0-90-73-163-163-163H292.3c-66.5 0-118.8 56.7-113.5 122.9L221.1 704H91l-1 54c0 84.6 66.4 153.6 150 157.8v0.2h424.3c98.2 0 177.7-79.6 177.7-177.7L795.8 328H934v-57zM171.6 834.4c-20.3-20.3-31.5-47.3-31.6-76l0.1-4.4h85.4l9.9 111.3c-24-2.8-46.3-13.5-63.8-30.9zM792 740.9c-0.7 33.2-13.9 64.2-37.4 87.7-24.1 24.1-56.2 37.4-90.3 37.4H285.7l-57.1-639.3c-1.4-17.9 4.6-35 16.8-48.2 12.2-13.2 28.9-20.5 46.9-20.5h19c23.4 26.3 37.7 61 37.7 99 0 25.7-6.5 49.9-18 71h414.4L792 740.9zM884 278H397.9c0.7-7 1.1-14 1.1-21 0-36-9.4-69.8-26-99h398c30.2 0 58.6 11.8 79.9 33.1S884 240.8 884 271v7zM664.5 515h-297v-50h297v50z m0 123.2h-297v-50h297v50z'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.other.discussions,
        name: '社区',
        category: [IconCategory.OTHER],
        path: `<path d='M810.666667 256h42.666666a128 128 0 0 1 128 128v363.221333A106.112 106.112 0 0 1 875.221333 853.333333h-39.168a42.666667 42.666667 0 0 0-41.386666 32.170667c-18.56 73.344-28.501333 96.512-68.949334 96.512-29.653333 0-56.149333-25.813333-134.485333-114.304a42.666667 42.666667 0 0 0-31.957333-14.378667h-131.84a42.666667 42.666667 0 0 1 0-85.333333h131.84a128 128 0 0 1 95.829333 43.136c22.058667 24.917333 40.448 44.970667 55.168 60.074667l1.706667-6.656A128 128 0 0 1 836.053333 768h39.168c11.477333 0 20.778667-9.301333 20.778667-20.778667V384a42.666667 42.666667 0 0 0-42.666667-42.666667h-42.666666v281.770667c0 47.36-38.357333 85.717333-85.333334 85.717333h-261.333333c-47.104 0-108.672 29.866667-137.642667 67.029334l-25.856 33.152c-28.885333 37.034667-55.381333 29.098667-59.178666-18.048l0.213333 2.986666c-3.797333-47.018667-44.8-86.016-92.202667-87.04l-21.333333-0.512a87.381333 87.381333 0 0 1-85.333333-86.997333V213.077333C42.666667 166.101333 80.768 128 127.786667 128h597.76C772.565333 128 810.666667 166.101333 810.666667 213.717333V256zM213.333333 256a42.666667 42.666667 0 1 0 0 85.333333h213.333334a42.666667 42.666667 0 1 0 0-85.333333H213.333333z m0 170.666667a42.666667 42.666667 0 1 0 0 85.333333h341.333334a42.666667 42.666667 0 0 0 0-85.333333H213.333333z'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.other.more,
        name: '更多',
        category: [IconCategory.OTHER],
        path: `<path d='M365.92 128H204.08C160.4 128 125 163.4 125 207.08v161.85c0 43.67 35.4 79.08 79.08 79.08h161.85c43.67 0 79.08-35.4 79.08-79.08V207.08C445 163.4 409.6 128 365.92 128zM851.36 234.09L736.91 119.64c-30.88-30.88-80.95-30.88-111.83 0L510.64 234.09c-30.88 30.88-30.88 80.95 0 111.83l114.44 114.44c30.88 30.88 80.95 30.88 111.83 0l114.44-114.44c30.89-30.89 30.89-80.95 0.01-111.83zM365.92 519H204.08C160.4 519 125 554.4 125 598.08v161.85c0 43.67 35.4 79.08 79.08 79.08h161.85c43.67 0 79.08-35.4 79.08-79.08V598.08C445 554.4 409.6 519 365.92 519zM753.92 519H592.08C548.4 519 513 554.4 513 598.08v161.85c0 43.67 35.4 79.08 79.08 79.08h161.85c43.67 0 79.08-35.4 79.08-79.08V598.08C833 554.4 797.6 519 753.92 519z'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.other.content,
        name: '内容',
        category: [IconCategory.OTHER],
        path: `<path d='M1012.662857 960.146286l-103.277714-103.350857a189.074286 189.074286 0 0 0-157.184-294.546286c-48.420571 0-96.768 18.578286-133.851429 55.442286a188.928 188.928 0 0 0 0 267.483428 189.44 189.44 0 0 0 239.177143 23.405714l103.350857 103.277715a36.717714 36.717714 0 0 0 25.892572 10.752 36.571429 36.571429 0 0 0 25.965714-62.537143z m-260.388571-92.745143a116.004571 116.004571 0 1 1 82.066285-33.938286c-21.942857 21.869714-51.2 33.938286-82.139428 33.938286z'/><path d='M805.302857 512V73.142857c0-40.374857-29.988571-73.142857-66.998857-73.142857H67.657143C30.646857 0 0.585143 32.768 0.585143 73.142857v950.857143l134.070857-73.142857 134.144 73.142857 134.582857-73.142857 133.778286 73.142857v-83.382857l-98.742857-53.906286-34.962286-19.163428-35.108571 19.017142-99.474286 54.125715-99.181714-54.125715-35.108572-19.017142-35.108571 19.017142-25.746286 14.116572V109.714286a36.571429 36.571429 0 0 1 36.571429-36.571429H695.588571a36.571429 36.571429 0 0 1 36.571429 36.571429v403.163428l73.142857-0.877714z'/><path d='M585.874286 292.571429h-365.714286a36.571429 36.571429 0 1 1 0-73.142858h365.714286a36.571429 36.571429 0 1 1 0 73.142858z m0 182.857142h-365.714286a36.571429 36.571429 0 1 1 0-73.142857h365.714286a36.571429 36.571429 0 1 1 0 73.142857z m-73.142857 182.857143h-292.571429a36.571429 36.571429 0 1 1 0-73.142857h292.571429a36.571429 36.571429 0 1 1 0 73.142857z'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.other.menu,
        name: '菜单',
        category: [IconCategory.OTHER],
        path: `<path d='M79.169331 113.350554l121.006899 0 0 120.557773-121.006899 0 0-120.557773ZM324.965581 113.350554l647.967334 0 0 120.557773-647.967334 0 0-120.557773ZM79.169331 444.549837l121.006899 0 0 120.557773-121.006899 0 0-120.557773ZM324.965581 444.549837l647.967334 0 0 120.557773-647.967334 0 0-120.557773ZM79.169331 754.840781l121.006899 0 0 120.334643-121.006899 0 0-120.334643ZM324.965581 754.840781l647.967334 0 0 120.334643-647.967334 0 0-120.334643Z' fill='#464d55'/>`,
        metadata: {
          format: IconFormatType.dataUrl,
        },
      },
      {
        id: ICON_IDS.other.scroll,
        name: '快捷滚动',
        category: [IconCategory.OTHER],
        path: `<path d='M515.988101 808.504889a21.541926 21.541926 0 0 0-21.352297 21.731555v157.620149a21.541926 21.541926 0 0 0 21.428149 21.693629 21.617778 21.617778 0 0 0 21.428148-21.693629v-157.620149a21.655704 21.655704 0 0 0-21.504-21.731555zM438.770916 803.00563a21.31437 21.31437 0 0 0-21.124741 21.466074v106.002963a21.276444 21.276444 0 0 0 21.124741 21.428148 21.238519 21.238519 0 0 0 21.086814-21.466074v-105.965037a21.276444 21.276444 0 0 0-21.086814-21.466074zM761.520545 432.507259C765.995804 141.046519 528.427804 8.988444 512.498916 0.417185V0L512.043804 0.18963 511.626619 0v0.417185c-15.966815 8.571259-253.572741 140.629333-249.059555 432.090074-48.355556 31.55437-99.062519 87.646815-90.984297 184.69926 8.040296 96.976593 101.338074 161.298963 137.064297 157.809777 35.726222-3.489185 25.334519-30.416593 25.334518-30.416592l12.250074-50.251852s52.641185 80.820148 69.518223 80.782222c15.17037-1.251556 87.305481-0.113778 95.914666 0h0.834371c8.647111-0.113778 80.744296-1.251556 95.914666 0 16.839111 0 69.518222-80.782222 69.518222-80.782222l12.212149 50.251852s-10.353778 26.927407 25.372444 30.416592c35.726222 3.489185 128.986074-60.833185 137.064296-157.809777 8.00237-97.014519-42.666667-153.144889-91.060148-184.69926zM512.043804 428.22163c-6.788741-0.113778-95.080296-3.375407-103.23437-107.557926C411.767656 221.639111 505.10336 212.878222 512.043804 212.385185c6.97837 0.493037 100.276148 9.253926 103.234371 108.278519-8.154074 104.182519-96.483556 107.444148-103.234371 107.557926zM587.706027 808.542815a21.238519 21.238519 0 0 0-21.086815 21.352296v75.624296a21.31437 21.31437 0 0 0 21.086815 21.428149 21.238519 21.238519 0 0 0 21.12474-21.428149v-75.624296a21.238519 21.238519 0 0 0-21.12474-21.352296z' fill='#f1586e'/>`,
        metadata: {
          format: IconFormatType.svg,
        },
      },
    ]

    otherIcons.forEach(icon => this.icons.set(icon.id, icon))
  }

  /**
   * 获取 SVG 图标内容
   */
  private getSvgIcon(id: IconId, options?: IconSvgOptions): string {
    const iconConfig = this.getIconInfo(id)

    if (!iconConfig) {
      logger.warn(`[${this.name}] 图标 ${id} 不存在，返回空字符串`)
      return ''
    }

    const {
      viewBox: defaultViewBox,
      size: defaultSize,
      format: defaultFormat,
    } = this.DEFAULT_ICON_SVG_CONFIG

    const { metadata, path, iconGenerator } = iconConfig || {}

    // 处理自定义图标生成器（支持参数）
    if (iconGenerator) {
      const generatorArgs = options?.generatorArgs || []
      return iconGenerator(...generatorArgs)
    }

    const {
      viewBox = defaultViewBox,
      attributes = {},
      size: systemSize,
      format: systemFormat,
    } = metadata || {}

    const {
      theme,
      className = '',
      size = systemSize ?? defaultSize,
      format = systemFormat ?? defaultFormat,
    } = options || {}

    const color = theme ? this.getIconThemeColor(theme) : 'currentColor'

    // 处理路径函数
    const pathData = typeof path === 'function' ? path(theme) : path

    if (!pathData) {
      logger.warn(`[${this.name}] 图标 ${id} 的路径数据不存在`)
      return ''
    }

    const svgCode = `<svg xmlns='http://www.w3.org/2000/svg' class='${className}' width='${size}' height='${size}' viewBox='${viewBox}' fill='${color}' ${this.shouldSetStrokeAttribute(attributes) ? `stroke="${color}"` : ''} ${this.formatAttributes(attributes)}>${pathData}</svg>`

    logger.debug(`[${this.name}] 图标 '${id}' 的 SVG 代码`, svgCode)

    return ToolKit.ui.svg.formatSvgIcon(svgCode, format)
  }

  /**
   * 判断是否需要设置 stroke 属性
   */
  shouldSetStrokeAttribute(attributes: IconAttributes): boolean {
    return Object.entries(attributes).some(([key, value]) => key === 'stroke' && value === '')
  }

  /**
   * 格式化图标属性
   */
  formatAttributes(attributes: IconAttributes): string {
    const excludeAttrs = [
      'width',
      'height',
      'viewBox',
      'fill',
    ]

    if (this.shouldSetStrokeAttribute(attributes))
      excludeAttrs.push('stroke')

    const formattedAttributes = Object.entries(attributes)
      .filter(([key]) => !excludeAttrs.includes(key))
      .map(([key, value]) => `${key}='${value}'`)
      .join(' ')

    if (!formattedAttributes)
      return ''

    return formattedAttributes
  }

  /**
   * 根据 URL 匹配图标
   */
  matchIconByUrl(url: string): IconConfig | undefined {
    const matchingIcons: Array<{ config: IconConfig, priority: number }> = []

    for (const config of this.icons.values()) {
      if (config.match?.link && ToolKit.string.isMatch(url, config.match.link)) {
        matchingIcons.push({
          config,
          priority: config.priority || 0,
        })
      }
      else if (config.match?.domain && config.match.domain.some(domain =>
        url.includes(domain),
      )) {
        matchingIcons.push({
          config,
          priority: config.priority || 0,
        })
      }
    }

    if (matchingIcons.length === 0)
      return undefined

    // 按优先级排序
    matchingIcons.sort((a, b) => b.priority - a.priority)
    return matchingIcons[0].config
  }

  /**
   * 根据文本匹配图标
   */
  matchIconByText(text: string): IconConfig | undefined {
    const matchingIcons: Array<{ config: IconConfig, priority: number }> = []

    for (const config of this.icons.values()) {
      if (config.match?.text && ToolKit.string.isMatch(text, config.match.text)) {
        matchingIcons.push({
          config,
          priority: config.priority || 0,
        })
      }
    }

    if (matchingIcons.length === 0)
      return undefined

    matchingIcons.sort((a, b) => b.priority - a.priority)
    return matchingIcons[0].config
  }

  /**
   * 获取图标配置信息
   */
  getIconInfo(id: IconId): IconConfig | undefined {
    return this.icons.get(id)
  }

  /**
   * 获取图标类名
   */
  static getIconClass(id: IconId): string {
    return `${BodyClasses.SCRIPT_ICON} ${MODULE_CONFIG.PREFIX.icon}${id}`
  }

  /**
   * 获取所有包含指定标签的图标
   */
  private getIconsByTag(tag: IconTag | IconTag[]): IconConfig[] {
    const tags = Array.isArray(tag) ? tag : [tag]

    return this.getAllIcons().filter(icon =>
      (icon.tag || []).some(t => tags.includes(t)),
    )
  }

  /**
   * 获取所有图标
   */
  private getAllIcons(): IconConfig[] {
    return Array.from(this.icons.values())
  }

  /**
   * 按分类获取图标
   */
  getIconsByCategory(category: IconCategory): IconConfig[] {
    return this.getAllIcons().filter(icon =>
      icon.category.includes(category),
    )
  }

  /**
   * 根据关键词搜索图标
   */
  searchIconsByKeyword(keyword: string): IconConfig[] {
    const lowerKeyword = keyword.toLowerCase()
    return this.getAllIcons().filter(icon =>
      icon.name.toLowerCase().includes(lowerKeyword)
      || icon.id.toLowerCase().includes(lowerKeyword)
      || icon.category.some(cat => cat.toLowerCase().includes(lowerKeyword)),
    )
  }

  /**
   * 获取分类树
   */
  getCategoryTree(): Record<IconCategory, IconConfig[]> {
    const tree: Record<IconCategory, IconConfig[]> = {} as Record<IconCategory, IconConfig[]>

    // 初始化所有分类
    Object.values(IconCategory).forEach((category) => {
      tree[category] = []
    })

    // 填充图标
    this.getAllIcons().forEach((icon) => {
      icon.category.forEach((category) => {
        if (tree[category]) {
          tree[category].push(icon)
        }
      })
    })

    return tree
  }

  /**
   * 获取图标统计信息
   */
  getIconStats(): { total: number, byCategory: Record<string, number>, categoryTree: Record<IconCategory, number> } {
    const byCategory: Record<string, number> = {}
    const categoryTree: Record<IconCategory, number> = {} as Record<IconCategory, number>

    // 初始化分类树计数
    Object.values(IconCategory).forEach((category) => {
      categoryTree[category] = 0
    })

    for (const icon of this.icons.values()) {
      for (const category of icon.category) {
        byCategory[category] = (byCategory[category] || 0) + 1
        categoryTree[category] = (categoryTree[category] || 0) + 1
      }
    }

    return {
      total: this.icons.size,
      byCategory,
      categoryTree,
    }
  }

  /**
   * 获取推荐图标（根据使用频率）
   */
  getRecommendedIcons(limit: number = 10): IconConfig[] {
    const allIcons = this.getAllIcons()
    // 按优先级排序
    return allIcons
      .sort((a, b) => (b.priority || 0) - (a.priority || 0))
      .slice(0, limit)
  }

  /**
   * 获取相关图标（同分类）
   */
  getRelatedIcons(iconId: IconId, limit: number = 5): IconConfig[] {
    const icon = this.getIconInfo(iconId)
    if (!icon)
      return []

    const relatedIcons = this.getAllIcons().filter(otherIcon =>
      otherIcon.id !== iconId
      && otherIcon.category.some(category => icon.category.includes(category)),
    )

    return relatedIcons.slice(0, limit)
  }

  /**
   * 验证图标配置
   */
  validateIcons(): IconValidationResult {
    this.validationResults = { isValid: true, errors: [], warnings: [] }
    const seenIds = new Set<string>()
    const seenNames = new Set<string>()
    const pathMap = new Map<string, string[]>() // 路径 -> 图标ID列表

    for (const [id, config] of this.icons.entries()) {
      this.validateIconConfig(config, id, seenIds, seenNames, pathMap)
    }

    this.analyzeDuplicatePaths(pathMap)
    this.generateStats()

    return this.validationResults
  }

  /**
   * 验证单个图标配置
   */
  private validateIconConfig(
    config: IconConfig,
    id: string,
    seenIds: Set<string>,
    seenNames: Set<string>,
    pathMap: Map<string, string[]>,
  ): void {
    // 1. 检查 ID 唯一性
    if (seenIds.has(id)) {
      this.validationResults.errors.push(`图标ID重复: ${id}`)
      this.validationResults.isValid = false
    }
    seenIds.add(id)

    // 2. 检查名称唯一性
    if (seenNames.has(config.name)) {
      this.validationResults.warnings.push(`图标名称重复: ${config.name} (ID: ${id})`)
    }
    seenNames.add(config.name)

    // 3. 检查路径/生成器存在性
    if (!('path' in config) && !('iconGenerator' in config)) {
      this.validationResults.errors.push(`图标 ${id} 必须包含 path 或 iconGenerator`)
      this.validationResults.isValid = false
    }

    // 4. 检查路径和生成器不能同时存在
    if ('path' in config && 'iconGenerator' in config) {
      this.validationResults.errors.push(`图标 ${id} 不能同时包含 path 和 iconGenerator`)
      this.validationResults.isValid = false
    }

    // 5. 检查路径非空（如果是路径图标）
    if ('path' in config && !config.path) {
      this.validationResults.errors.push(`图标 ${id} 的 path 不能为空`)
      this.validationResults.isValid = false
    }

    // 6. 检查名称非空
    if (!config.name.trim()) {
      this.validationResults.errors.push(`图标 ${id} 的 name 不能为空`)
      this.validationResults.isValid = false
    }

    // 7. 分析路径（如果是路径图标）
    if ('path' in config && config.path) {
      const pathContent = typeof config.path === 'function' ? config.path(undefined) : config.path
      if (pathContent) {
        const normalizedPath = PathAnalyzer.normalizePath(pathContent)
        if (!pathMap.has(normalizedPath)) {
          pathMap.set(normalizedPath, [])
        }
        pathMap.get(normalizedPath)!.push(id)
      }
    }
  }

  /**
   * 分析重复路径
   */
  private analyzeDuplicatePaths(pathMap: Map<string, string[]>): void {
    for (const [_path, iconIds] of pathMap.entries()) {
      if (iconIds.length > 1) {
        this.validationResults.warnings.push(
          `发现 ${iconIds.length} 个图标使用相同路径: ${iconIds.join(', ')}`,
        )
      }
    }
  }

  /**
   * 生成统计信息
   */
  private generateStats(): void {
    const stats: IconStats = {
      total: this.icons.size,
      byCategory: {},
      categoryTree: {} as Record<IconCategory, number>,
      pathStats: {
        totalPaths: 0,
        pathLengths: { min: Infinity, max: 0, average: 0, distribution: {} },
        complexIcons: 0,
        simpleIcons: 0,
      },
      viewBoxStats: {
        uniqueViewBoxes: [],
        viewBoxDistribution: {},
      },
      sizeStats: {
        defaultSizes: [],
        sizeDistribution: {},
        missingSizes: 0,
      },
      formatStats: {
        formatDistribution: {} as Record<IconFormatType, number>,
        cssUrlIcons: [],
        nonCssUrlIcons: [],
      },
      duplicatePaths: new Map(),
      colorVariants: new Map(),
    }

    const pathLengths: number[] = []
    const viewBoxMap = new Map<string, number>()
    const sizeMap = new Map<number, number>()
    const formatMap = new Map<IconFormatType, number>()
    const pathColorMap = new Map<string, Array<{ id: string, fill: string }>>()

    // 初始化分类树
    Object.values(IconCategory).forEach((category) => {
      stats.categoryTree[category] = 0
    })

    for (const [id, config] of this.icons.entries()) {
      // 分类统计
      config.category.forEach((category) => {
        stats.byCategory[category] = (stats.byCategory[category] || 0) + 1
        stats.categoryTree[category] = (stats.categoryTree[category] || 0) + 1
      })

      // 路径统计
      if ('path' in config && config.path) {
        stats.pathStats.totalPaths++
        const pathContent = typeof config.path === 'function'
          ? config.path(undefined)
          : config.path

        const pathLength = PathAnalyzer.getPathLength(pathContent)
        pathLengths.push(pathLength)

        // 路径长度分布
        const lengthKey = this.getLengthKey(pathLength)
        stats.pathStats.pathLengths.distribution[lengthKey]
          = (stats.pathStats.pathLengths.distribution[lengthKey] || 0) + 1

        // 颜色变体分析
        const normalizedPath = PathAnalyzer.normalizePath(pathContent)
        const fillColor = PathAnalyzer.extractFillColor(pathContent)

        if (fillColor) {
          if (!pathColorMap.has(normalizedPath)) {
            pathColorMap.set(normalizedPath, [])
          }
          pathColorMap.get(normalizedPath)!.push({ id, fill: fillColor })
        }
      }

      // ViewBox 统计
      if (config.metadata?.viewBox) {
        const viewBox = config.metadata.viewBox
        viewBoxMap.set(viewBox, (viewBoxMap.get(viewBox) || 0) + 1)
      }

      // Size 统计
      const size = config.metadata?.size || this.DEFAULT_ICON_SVG_CONFIG.size
      sizeMap.set(size, (sizeMap.get(size) || 0) + 1)
      if (!config.metadata?.size) {
        stats.sizeStats.missingSizes++
      }

      // Format 统计
      const format = config.metadata?.format || this.DEFAULT_ICON_SVG_CONFIG.format
      formatMap.set(format, (formatMap.get(format) || 0) + 1)

      if (format === IconFormatType.cssUrl) {
        stats.formatStats.cssUrlIcons.push(id)
      }
      else {
        stats.formatStats.nonCssUrlIcons.push(id)
      }
    }

    // 计算路径统计
    if (pathLengths.length > 0) {
      stats.pathStats.pathLengths.min = Math.min(...pathLengths)
      stats.pathStats.pathLengths.max = Math.max(...pathLengths)
      stats.pathStats.pathLengths.average = pathLengths.reduce((a, b) => a + b, 0) / pathLengths.length

      stats.pathStats.complexIcons = pathLengths.filter(l => l > stats.pathStats.pathLengths.average).length
      stats.pathStats.simpleIcons = pathLengths.filter(l => l <= stats.pathStats.pathLengths.average).length
    }

    // 转换Map到对象
    stats.viewBoxStats.uniqueViewBoxes = Array.from(viewBoxMap.keys())
    stats.viewBoxStats.viewBoxDistribution = Object.fromEntries(viewBoxMap)
    stats.sizeStats.sizeDistribution = Object.fromEntries(sizeMap)
    stats.formatStats.formatDistribution = Object.fromEntries(formatMap) as Record<IconFormatType, number>
    stats.colorVariants = this.analyzeColorVariants(pathColorMap)

    this.stats = stats
  }

  /**
   * 分析颜色变体
   */
  private analyzeColorVariants(
    pathColorMap: Map<string, Array<{ id: string, fill: string }>>,
  ): Map<string, Array<{ id: string, fill: string }>> {
    const colorVariants = new Map<string, Array<{ id: string, fill: string }>>()

    for (const [path, variants] of pathColorMap.entries()) {
      if (variants.length > 1) {
        colorVariants.set(path, variants)
      }
    }

    return colorVariants
  }

  /**
   * 获取路径长度分组键
   */
  private getLengthKey(length: number): string {
    if (length < 100)
      return '0-100'
    if (length < 500)
      return '100-500'
    if (length < 1000)
      return '500-1000'
    if (length < 2000)
      return '1000-2000'
    return '2000+'
  }

  /**
   * 获取统计信息
   */
  getValidateStats(): IconStats {
    if (!this.stats) {
      this.validateIcons()
    }

    return this.stats!
  }

  /**
   * 配置回填：自动补充缺失的分类
   */
  autoFillCategories(): void {
    for (const [id, config] of this.icons.entries()) {
      // 从 ID 中提取分类信息
      const categoryFromId = this.extractCategoryFromId(id)

      if (categoryFromId && !config.category.includes(categoryFromId)) {
        config.category.push(categoryFromId)
        config.category = [...new Set(config.category)] // 去重
      }
    }
  }

  /**
   * 从 ID 中提取分类信息
   */
  private extractCategoryFromId(id: string): IconCategory | null {
    const idParts = id.split('.')

    if (idParts.length >= 2) {
      const categoryKey = idParts[0].toUpperCase() as keyof typeof IconCategory
      if (IconCategory[categoryKey]) {
        return IconCategory[categoryKey]
      }
    }

    return null
  }

  /**
   * 检查样式变量中的图标定义
   */
  checkStyleVarConsistency(): { missingInStyleVar: string[], obsoleteInStyleVar: string[] } {
    const styleVarIcons = this.extractIconsFromStyleVar()
    const definedIcons = Array.from(this.icons.keys()) as string[]

    const missingInStyleVar = definedIcons.filter(id => !styleVarIcons.has(id))
    const obsoleteInStyleVar = Array.from(styleVarIcons).filter(id => !definedIcons.includes(id))

    return {
      missingInStyleVar,
      obsoleteInStyleVar,
    }
  }

  /**
   * 从样式变量中提取图标 ID
   */
  private extractIconsFromStyleVar(): Set<string> {
    const styleContent = this.iconsStyleVar(ThemeType.LIGHT)
    const iconIds = new Set<string>()

    // 提取类似 --prefix-theme-icon-xxx 中的 xxx 部分
    const regex = new RegExp(`${this.ICON_STYLE_VAR_PREFIX}-([a-zA-Z0-9-]+)`, 'g')
    const matches = styleContent.matchAll(regex)

    for (const match of matches) {
      iconIds.add(match[1].replace(/-/g, '.'))
    }

    return iconIds
  }

  /**
   * 获取关联图标（相同路径不同颜色）
   */
  getRelatedIconsByPath(baseIconId: string): Array<{ id: string, fill: string }> {
    const baseConfig = this.getIconInfo(baseIconId as IconId)
    if (!baseConfig || !('path' in baseConfig) || !baseConfig.path) {
      return []
    }

    const basePath = typeof baseConfig.path === 'function'
      ? baseConfig.path(undefined)
      : baseConfig.path

    const normalizedPath = PathAnalyzer.normalizePath(basePath)

    return this.stats?.colorVariants.get(normalizedPath)?.filter(v => v.id !== baseIconId) || []
  }

  /**
   * 创建颜色变体图标
   */
  createColorVariant(baseIconId: string, newFillColor: string): string | null {
    const baseConfig = this.getIconInfo(baseIconId as IconId)
    if (!baseConfig || !('path' in baseConfig) || !baseConfig.path) {
      return null
    }

    const basePath = typeof baseConfig.path === 'function'
      ? baseConfig.path(undefined)
      : baseConfig.path

    // 替换颜色
    return basePath.replace(
      /fill=['"](#[0-9A-Fa-f]{3,6})['"]/g,
      `fill="${newFillColor}"`,
    )
  }

  iconsStyleVar(theme: ThemeType): string {
    return `
:root {    
  /* 基础样式 */
  ${this.themeVarService.icon.default}: ${this.getIconThemeColor(theme, 'default')};
  ${this.themeVarService.icon.hover}: ${this.getIconThemeColor(theme, 'hover')};
  ${this.themeVarService.icon.active}: ${this.getIconThemeColor(theme, 'active')};
  ${this.themeVarService.icon.disabled}: ${this.getIconThemeColor(theme, 'disabled')};
  
  /* 【平台】常用图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.huggingface}: ${this.api.icon.asCssUrl(ICON_IDS.platform.huggingface, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.oschina}: ${this.api.icon.asCssUrl(ICON_IDS.platform.oschina, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.aliyun}: ${this.api.icon.asCssUrl(ICON_IDS.platform.aliyun, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.imooc}: ${this.api.icon.asCssUrl(ICON_IDS.platform.imooc, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.runoob}: ${this.api.icon.asCssUrl(ICON_IDS.platform.runoob, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.quark}: ${this.api.icon.asCssUrl(ICON_IDS.platform.quark, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.platform.jetbrains}: ${this.api.icon.asCssUrl(ICON_IDS.platform.jetbrains, { theme })};
  /* 【平台】AI 图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.ai.deepseek}: ${this.api.icon.asCssUrl(ICON_IDS.ai.deepseek, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.ai.douBao}: ${this.api.icon.asCssUrl(ICON_IDS.ai.douBao, { theme })};
  /* 【平台】博客平台图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.blog.csdn}: ${this.api.icon.asCssUrl(ICON_IDS.blog.csdn, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.blog.jianShu}: ${this.api.icon.asCssUrl(ICON_IDS.blog.jianShu, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.blog.jueJin}: ${this.api.icon.asCssUrl(ICON_IDS.blog.jueJin, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.blog.zhiHu}: ${this.api.icon.asCssUrl(ICON_IDS.blog.zhiHu, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.blog.cnBlogs}: ${this.api.icon.asCssUrl(ICON_IDS.blog.cnBlogs, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.blog.stackoverflow}: ${this.api.icon.asCssUrl(ICON_IDS.blog.stackoverflow, { theme })};
  /* 【平台】开源平台图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.openSource.github}: ${this.api.icon.asCssUrl(ICON_IDS.openSource.github, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.openSource.gitee}: ${this.api.icon.asCssUrl(ICON_IDS.openSource.gitee, { theme })};
  /* 【平台】云平台图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.cloud.baiduCloud}: ${this.api.icon.asCssUrl(ICON_IDS.cloud.baiduCloud, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.cloud.lanzouCloud}: ${this.api.icon.asCssUrl(ICON_IDS.cloud.lanzouCloud, { theme })};
  /* 【平台】社交平台图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.social.weixin}: ${this.api.icon.asCssUrl(ICON_IDS.social.weixin, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.social.weiBo}: ${this.api.icon.asCssUrl(ICON_IDS.social.weiBo, { theme })};
  /* 【平台】写作平台图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.writing.yuque}: ${this.api.icon.asCssUrl(ICON_IDS.writing.yuque, { theme })};
  
  /* 【用户】登录图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.auth.logout}: ${this.api.icon.asCssUrl(ICON_IDS.auth.logout, { theme, size: 24, format: IconFormatType.cssUrl })};
  /* 【用户】角色图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.role.author}: ${this.api.icon.asCssUrl(ICON_IDS.role.author, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.role.developer}: ${this.api.icon.asCssUrl(ICON_IDS.role.developer, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.role.vipUser}: ${this.api.icon.asCssUrl(ICON_IDS.role.vipUser, { theme })};
  
  /* 【元数据】基础图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.metadata.id}: ${this.api.icon.asCssUrl(ICON_IDS.metadata.id, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.metadata.index}: ${this.api.icon.asCssUrl(ICON_IDS.metadata.index, { theme })};
  
  /* 【导航】基础图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.navigation.arrowsDown}: ${this.api.icon.asCssUrl(ICON_IDS.navigation.arrowsDown, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.navigation.arrowsUp}: ${this.api.icon.asCssUrl(ICON_IDS.navigation.arrowsUp, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.navigation.arrowsLeft}: ${this.api.icon.asCssUrl(ICON_IDS.navigation.arrowsLeft, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.navigation.arrowsRight}: ${this.api.icon.asCssUrl(ICON_IDS.navigation.arrowsRight, { theme })};
  
  /* 【操作】基础图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.search}: ${this.api.icon.asCssUrl(ICON_IDS.action.search, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.download}: ${this.api.icon.asCssUrl(ICON_IDS.action.download, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.copy}: ${this.api.icon.asCssUrl(ICON_IDS.action.copy, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.run}: ${this.api.icon.asCssUrl(ICON_IDS.action.run, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.follow}: ${this.api.icon.asCssUrl(ICON_IDS.action.follow, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.view}: ${this.api.icon.asCssUrl(ICON_IDS.action.view, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.viewAll}: ${this.api.icon.asCssUrl(ICON_IDS.action.viewAll, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.star}: ${this.api.icon.asCssUrl(ICON_IDS.action.star, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.jumpTo}: ${this.api.icon.asCssUrl(ICON_IDS.action.jumpTo, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.refresh}: ${this.api.icon.asCssUrl(ICON_IDS.action.refresh, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.action.report}: ${this.api.icon.asCssUrl(ICON_IDS.action.report, { theme })};
  
  /* 【交互】分页图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageTop}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageTop, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pagePrev}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pagePrev, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageNext}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageNext, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageEnd}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageEnd, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageMore}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageMore, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageAll}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageAll, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageBatch}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageBatch, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageCancel}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageCancel, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageScrollLoad}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageScrollLoad, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.interface.pageNoScrollLoad}: ${this.api.icon.asCssUrl(ICON_IDS.interface.pageNoScrollLoad, { theme })};
  
  /* 【开发】开发图标 */  
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.development.update}: ${this.api.icon.asCssUrl(ICON_IDS.development.update, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.development.version}: ${this.api.icon.asCssUrl(ICON_IDS.development.version, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.development.python}: ${this.api.icon.asCssUrl(ICON_IDS.development.python, { theme })};
  
  /* 【工具】基础图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.tool.pycharm}: ${this.api.icon.asCssUrl(ICON_IDS.tool.pycharm, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.tool.docker}: ${this.api.icon.asCssUrl(ICON_IDS.tool.docker, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.tool.xunlei}: ${this.api.icon.asCssUrl(ICON_IDS.tool.xunlei, { theme })};
  /* 【工具】AI 工具图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.aiTool.ollama}: ${this.api.icon.asCssUrl(ICON_IDS.aiTool.ollama, { theme })};
  
  /* 【媒体】视频图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.bilibili}: ${this.api.icon.asCssUrl(ICON_IDS.video.bilibili, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.youtube}: ${this.api.icon.asCssUrl(ICON_IDS.video.youtube, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.haoKan}: ${this.api.icon.asCssUrl(ICON_IDS.video.haoKan, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.douYin}: ${this.api.icon.asCssUrl(ICON_IDS.video.douYin, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.soHu}: ${this.api.icon.asCssUrl(ICON_IDS.video.soHu, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.tencent}: ${this.api.icon.asCssUrl(ICON_IDS.video.tencent, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.xiGua}: ${this.api.icon.asCssUrl(ICON_IDS.video.xiGua, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.youku}: ${this.api.icon.asCssUrl(ICON_IDS.video.youku, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.iQiYi}: ${this.api.icon.asCssUrl(ICON_IDS.video.iQiYi, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.video.kuaiShou}: ${this.api.icon.asCssUrl(ICON_IDS.video.kuaiShou, { theme })};
  
  /* 【其他】评价图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.rating.good}: ${this.api.icon.asCssUrl(ICON_IDS.rating.good, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.rating.bad}: ${this.api.icon.asCssUrl(ICON_IDS.rating.bad, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.rating.ok}: ${this.api.icon.asCssUrl(ICON_IDS.rating.ok, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.rating.unrated}: ${this.api.icon.asCssUrl(ICON_IDS.rating.unrated, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.rating.like}: ${this.api.icon.asCssUrl(ICON_IDS.rating.like, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.rating.dislike}: ${this.api.icon.asCssUrl(ICON_IDS.rating.dislike, { theme })};
  /* 【其他】链接图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.link.link}: ${this.api.icon.asCssUrl(ICON_IDS.link.link, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.link.linkExpired}: ${this.api.icon.asCssUrl(ICON_IDS.link.linkExpired, { theme })};
  /* 【其他】时间图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.time.clock}: ${this.api.icon.asCssUrl(ICON_IDS.time.clock, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.time.calendar}: ${this.api.icon.asCssUrl(ICON_IDS.time.calendar, { theme })};
  /* 【其他】基础图标 */
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.other.ad}: ${this.api.icon.asCssUrl(ICON_IDS.other.ad, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.other.score}: ${this.api.icon.asCssUrl(ICON_IDS.other.score, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.other.pass}: ${this.api.icon.asCssUrl(ICON_IDS.other.pass, { theme })};
  ${this.ICON_STYLE_VAR_PREFIX}-${ICON_IDS.other.expire}: ${this.api.icon.asCssUrl(ICON_IDS.other.expire, { theme })};
}
`
  }
}

class PathAnalyzer {
  static extractFillColor(path: string): string | null {
    const fillMatch = path.match(/fill=['"](#[0-9A-Fa-f]{3,6})['"]/)
    return fillMatch ? fillMatch[1] : null
  }

  static normalizePath(path: string): string {
    // 移除颜色信息，用于路径比较
    return path.replace(/fill=['"](#[0-9A-Fa-f]{3,6})['"]/g, 'fill="#COLOR"')
  }

  static getPathLength(path: string): number {
    return path.length
  }

  static isComplexPath(path: string, averageLength: number): boolean {
    return path.length > averageLength
  }
}
